Dette er en oppfølgingstutorial til Introduksjon til Craft CMS. Hvis du ikke er kjent med håndverk, anbefaler jeg at du leser første del først. Deretter returnerer du her og følger vår installasjon og startveiledning.
Pixel & Tonic's Craft CMS er et WordPress-alternativ for utviklingsorienterte utgivere som vil ha dypere kontroll og mer kraftig ytelse fra deres innholdshåndteringsverktøy. Det er også et potensielt alternativ for konsulenter og utviklere for å utvide sine kundetilbud.
Håndverk er ikke en byggemotor - du må bygge ut HTML, CSS og JavaScript for hånd som inneholder Twig-maler. Dette vil ikke være skremmende for de som pleide å bygge WordPress-temaer. For andre er det dessverre ikke noe offisielt tema eller plugin-marked på dette tidspunktet (selv om jeg ikke ville bli overrasket om man ser fremover i fremtiden). Men Craft er bygget for å være svært skalerbare og tilbyr innfødte funksjoner for komplekse innholdshåndteringsforhold.
Det er et hensiktsmessig valg for små nettsteder, men vil skinne med større innholdssider med signifikant flerlags, interrelatert innhold.
Craft er skrevet i PHP på den kraftige Yii 1.x-plattformen. Hvis du ikke har hørt om Yii, kan du lese min Introduksjon til Yii Framework på Tuts +. Du trenger ikke å vite PHP eller Yii for å bruke Craft. Det er lik Django-drevet CMS-verktøy skrevet i Python.
Mens du kanskje ikke har hørt om Craft, vokser dens utviklerfellesskap raskt. I juni var forslaget til Craft StackExchange-nettsted godkjent på bare fem dager.
Du kan se et showcase av nettsteder som kjører Craft her.
I denne veiledningen vil jeg gå gjennom prosessen med å installere Craft, sin demo side, og bli kjent med Craft for å bygge ditt eget nettsted med det.
Først, la oss installere Craft's On The Rocks demonstrasjonssted med eksempeltema og innhold. Dette nettstedet låses også opp av alle premiefunksjonene for testing.
Jeg bruker Mac OS X med MAMP. Mine lokale nettsteder kjører i ~ / Nettsteder katalogen. La oss klone Craft demo nettstedet fra Github:
git klon https://github.com/pixelandtonic/ontherocks.git
Deretter la vi sette filtillatelsene for Craft's interne kataloger:
cd ontherocks chmod 777 craft / storage / chmod 774 craft / config
Neste, la oss oppdatere den nyeste byggingen av Craft. I februar 2015 brukte jeg versjon 2.3.2627. Du kan imidlertid finne det aller siste på siden "Oppdateringer" på Craft-nettstedet..
krølle -L http://download.buildwithcraft.com/craft/2.3/2.3.2627/Craft-2.3.2627.zip -o /tmp/Craft.zip unzip /tmp/Craft.zip -d BaseCraft cp -R BaseCraft / craft / app craft / app rm -R BaseCraft && rm /tmp/Craft.zip
Da brukte jeg PHPMyAdmin til å lage databasen:
Klikk på på steinene database i PHPMyAdmin. Klikk deretter Importere og velg filen i ~ / Nettsteder / ontherocks / SQL / ontherocks.sql
:
Deretter redigerer du databasekonfigurasjonsfilen med legitimasjonene for din lokale MySQL-database:
nano ~ / Sites / ontherocks / craft / config / db.php
/ ** * Database Configuration * * Alle systemets database konfigurasjonsinnstillinger går inn her. * Du kan se en liste over standardinnstillingene i craft / app / config / default / db.php * / return array ('server' => 'localhost', 'user' => 'rocks_user', 'password' => 'passord', 'database' => 'ontherocks', 'tablePrefix' => 'håndverk');
Opprett en ny virtuell vert med vertsnavnet "ontherocks.dev" som peker på publikum / mappen.
Rediger din / etc / hosts-fil for å løse ontherocks.dev til 127.0.0.1, om nødvendig:
## # Vertsdatabase # # localhost brukes til å konfigurere loopback-grensesnittet # når systemet startes. Ikke endre denne oppføringen. ## 127.0.0.1 localhost 127.0.0.1 ontherocks.dev
The Craft dashboard er plassert på http://ontherocks.dev/admin. Når du er lastet, ser du noe slikt: aper ... og øyenbryn!
Deretter blir du bedt om å oppdatere databasen:
Du kan logge inn med følgende legitimasjon: Brukernavn: admin, Passord: passord.
Her er dashbordet - ser litt ut som WordPress, huh?
Her er On the Rocks hjemmeside:
De hyggelige folkene på Pixel & Tonic ga meg en pre-release av deres nye gratis demonstrasjonssted, som forhåpentligvis vil være tilgjengelig når du leser denne klonen her. Det nye nettstedet heter Happy Lager:
Installasjonstrinnene er nøyaktig det samme som beskrevet ovenfor for On the Rocks. Git-depotet bør være plassert her:
git klone https://github.com/pixelandtonic/happylager.git
Happy Lager benytter Crafts dypere oppsettegenskaper. Her er et par skjermbilder fra siden Om:
Under foldet:
Her er siden Tjenester:
Her er siden Innlegg i oversikten med alt innholdet fra Happy Lager:
Ta en titt på oppføringstypene i den venstre navigasjonsruten: Singler, kanaler og strukturer. Craft tilbyr mer sofistikerte, utvidbare datatyper enn WordPress.
singles er en av sidene som har en unik design som nettstedet ditt på hjemmesiden. kanaler er for oppføringer organisert etter dato, for eksempel en blogg eller nyhetsseksjoner. strukturer er for innhold som tilbys i en forhåndsdefinert rekkefølge.
Her er redigeringssiden. Legg merke til bredden av mulige felt som igjen kan tilpasses, f.eks. Tittel, Utvalgt bilde, Kort beskrivelse, Overskrift, Underoverskrift, Artikkel Body.
Legg merke til under folden, hvordan pull quote-typen tilbyr forskjellige oppsett i historien, slik at bildet som følger (men jeg kunne ikke inkludere alt i skjermbildet):
Denne evnen er hva Craft kaller det Matrise, og det gir mulighet for mer kraftfull historie komposisjon og layout. Hver blokk kan ha egendefinerte felt og tilpasset posisjon, og kan trekkes og slippes på plass i strømmen. Her er en kort video som viser Matrise:
Her er Live Preview-helt nydelig. Det minner meg om Ghosts Markdown forhåndsvisning som jeg skrev om i Keeping Up with Ghost 0.5 (Tuts +). Lesere kan huske jeg hater Markdown - så jeg setter stor pris på Craft live forhåndsvisning:
Her er litt mer på Live Preview:
Håndverk gir enkel tilgang til tidligere revisjoner:
Bildeaktiver er organisert av gruppe og tilgjengelig på Eiendeler side:
Hvis du noen gang har ventet på at WordPress skal laste mediesiden din, vil du sette pris på hvor fort Craft er.
Her ser du nærmere på innholdet bak deler av Happy Lager-hjemmesiden, spesielt slik det vises når du redigerer innholdet:
Craft bruker Twig-maler for å transponere de strukturerte innholdselementene til websider:
# # Om mal # ------------------- # # Enkelt om mal # # # % utvider "_layouts / site"% % block main%title
% hvis entry.infoHeroTopText%entry.infoHeroTopText
% endif% % hvis entry.infoHeroBottomText%entry.infoHeroBottomText
% slutt om % % hvis entry.firstSectionHeader%entry.firstSectionHeader
% endif% % hvis entry.firstSectionSubheader%entry.firstSectionSubheader
% slutt om %
Craft-områder er bygd rundt de seksjonene vi skisserte over: Singler, kanaler og strukturer. Her er en kort video som viser seksjonstyper i dybden:
Her er seksjonene som er knyttet til Happy Lager demonstrasjonssted - legg merke til hvordan hver tilsvarer primærnavigasjonslinjen.
De hjemmeside og Handle om siden er singler. De Nyheter og Arbeid Siden er kanaler. De tjenester siden er en struktur.
Selvfølgelig tilbyr Craft også kategorier og koder. Kategorier hjelper deg med å organisere innholdet på nettstedet ditt på forhånd, mens tagger lar deg lage en ad hoc folksonomy basert på innholdet i hver av artiklene dine.
Her er en kort video som beskriver kategorier og koder:
En annen kul funksjon Craft-tilbud er muligheten til å lede URL-forespørsler med vennlige baner direkte til bestemte seksjoner:
Her er det som er på, trykk siden fra http://happylager.dev/index.php/work:
Her kan du se hvordan elementene over er redigert som separate oppføringer i Arbeidskanalen, organisert etter dato.Her er en titt på Services-How It's Made-siden på http://happylager.dev/index.php/services. Det er en struktur hvis elementer har en forhåndsdefinert rekkefølge.
Hver av billedkassene er drevet av en oppføring under tjenester. Du kan endre rekkefølgen av utseendet via dra og slipp:
Her er et eksempel Twig-mal for denne siden:
% utvider "_layouts / site"% % block main%% for oppføring i craft.entries.section ('Services'). finn ()%title
% endfor% % endblock%entry.title
Og her er malen for hver oppføring. Dette gir deg en ide om hvordan du bygger Twig-maler for Craft-nettstedet ditt og hva som er involvert:
# # Inntastingsmal for tjenester # ------------------- # # Denne malen blir lastet når en URL for arbeidsoppføring er # forespurt. Det er fordi arbeidsavsnittets malinnstilling er # satt til "tjenester / _entry", banen til denne malen. # % utvider "_layouts / site"% % blokk hoved% % sett currentUrl = craft.request.getUrl ()% % sett lastSegment = craft.request.getLastSegment ()% % hvis sisteSegment ! = 'tjenester'% % endif% % hvis sisteSegment == 'tjenester'%entry.title
% hvis entry.indexHeading% entry.indexHeading % endif%% hvis sisteSegment! = 'tjenester'% % for oppføring i craft.entries.section ('Services'). type ('servicesDetail'). rekkefølge ('postDate desc'). finn ()%% else% % include "inkluderer / articlebody"% % endif%% set image = entry.featuredImage.first ()% % hvis bilde% % slutt om %% endfor%entry.title
% hvis entry.shortDescription% entry.shortDescription % endif%% for blokk i entry.servicesBody% % endfor%block.heading
block.text% set photo = block.image.first ()% % hvis bilde% % slutt om %% sett oppføringer = craft.entries.section ('Work') .grense (1) .offset (2)% % for oppføring i oppføringer% % set asset = entry.featuredImage.last ()% % hvis aktiv% % endif% % endblock% % blokkfot% foreldre () % endblock%% slutt om %% endfor%% set asset = entry.featuredImage.first ()% % hvis aktiv% % slutt om %entry.title
entry.heading
% hvis oppføring.obligasjon%entry.subheading
% slutt om %Se mer
Redigering av oppføringer i Craft er enkelt, mye som WordPress, men med forbedrede oppsettegenskaper som du normalt vil kreve plugins å utføre.
Hver seksjon kan ha flere brukerdefinerte oppføringstyper. For eksempel har News-seksjonen to forskjellige typer oppføringer: artikler og lenker. Oppføringstyper lar deg lagre ulike typer innhold i samme seksjon.
Her er en kort video på Entry typer:
Nå som du har en følelse av hvordan byggekonstruksjonen fungerer i Craft, la oss installere en ny versjon fra bunnen av.
For å installere Craft, besøk nettstedet og last ned kodebase. Jeg bruker Mac OS X med MAMP for min lokale utvikling og testing.
Craft gir detaljerte installasjonsinstruksjoner og lenker til guider for Mac, Laravel, Heroku og til og med en automatisk installasjon med Composer.
Gi nytt navn til htaccess-filen:
cd ~ / Nettsteder / craftcms / public mv htaccess .htaccess
Opprett en symbolsk lenke til Craft Public Directory for MAMP:
ln-s ~ / Nettsteder / craftcms / public / Applications / MAMP / htdocs / craft
Hvis du kjører Craft installasjonen lokalt fra vertsnavnene "craft.dev" eller "ontherocks.dev", vil du ha muligheten til å bytte mellom Craft Personal, Craft Client og Craft Pro gratis, for alltid.
Jeg opprettet databasen via PHPMyAdmin.
Rediger Craft-databasens konfigurasjonsfil for MySQL-legitimasjonene:
nano ./craft/config/db.php
Skriv inn legitimasjonene dine i feltene nedenfor:
/ ** * Database Configuration * * Alle systemets database konfigurasjonsinnstillinger går inn her. * Du kan se en liste over standardinnstillingene i craft / app / etc / config / default / db.php * / return array (// Databasens servernavn eller IP-adresse. Vanligvis er dette "localhost" eller "127.0.0.1 '.' server '=>' localhost ', // Databasens brukernavn for å koble til.' user '=>' root ', // Databasens passord for å koble til.' password '=>' ditt passord ' / Navnet på databasen for å velge. 'Database' => 'craft', // Prefikset som skal benyttes når navngivning av tabeller. Dette kan ikke være mer enn 5 tegn. 'TablePrefix' => 'craft');
Sett opp skriverettigheter for disse Craft-app katalogene:
chmod 744 ./craft/app chmod 744 ./craft/config chmod 744 ./craft/storage/
Besøk den lokale håndverkens hjemmeside, og du bør se apene igjen!
Registrer din første administrasjonskonto:
Konfigurer nettstedets egenskaper:
Og det er det:
Her er dashbordet ditt igjen:
Håndverk er så sluttbrukerfokusert at de inkluderer et kontaktskjema for støtte på dashbordets hjemmeside.
Du kan finne nettstedinnstillinger fra navigasjonsfeltet øverst til høyre. Det minner meg om iOS:
Her ser du hvordan standardverkstedet ditt ser ut når du begynner:
Ja, Craft har ikke WordPress-fellesskapet av temaer. For det meste må du kode ditt eget tema. For nybegynneren har WordPress fortsatt en kant.
På den annen side kan du allerede merke hvor fort Craft går i forhold til WordPress.
Absolutt kan du begynne å bygge nettstedets utvalgsinnhold, men du må lære om Craft-temaer og plugins. Her er noen ressurser som vil hjelpe deg:
Jeg oppfordrer deg til å installere Craft og utforske dens funksjonssett ytterligere. Jeg er begeistret av kraften, kontrollen og skalerbarheten Craft gir som et alternativ til WordPress. Jeg er også en Yii avicionado, og det er flott å se et CMS-verktøy bygget på min favoritt rammeverk.
Hvis du vil se en oppfølgingserie om publisering med Craft, vennligst legg inn et notat i kommentarene. Jeg setter også pris på dine spørsmål og kommentarer og svarer generelt. Du kan nå meg på Twitter @ reifman eller email meg direkte.
Jeg vil også gi et utrop til Brandon Kelly, eieren av Pixel & Tonic, skaperen av Craft. Brandon var veldig hjelpsomme med å svare på mine spørsmål og ga meg en forhåndsvisning av deres nye demonstrasjonsnettsted som du burde få tilgang til nå.