, sædvaner, layout og - modeller med magento,,,,, 29,,,,,,,,, 11,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet magento design terminologi og begreber. en introduktion til magento design terminologi og begreber, i første del af denne serie, vi lærte de grundlæggende magento modul udvikling, herunder de magento adresseregister struktur, custom modul struktur, og vi har skabt en grundlæggende "hej" modul for at forstå, hvordan de arbejder i magento. , i denne artikel, vil vi lære at skabe blokke og skemaer filer.netop, vi vil se på, hvordan layout - filer og blokke filer arbejde i magento, og vi vil se på levering af layout filer. ,,, vi vil se, hvad indretning og blokere filer er, og hvordan de er nyttige i at hjælpe sider i magento, og så vil vi se, hvordan vi kan inddrage dem i vores skik modul.,, hvad er layoutet fil?, som navnet antyder, layout filer er nyttige i at gøre forsiden af magento.layout filer er xml - filer, der er bosat i app > design > frontend > deres grænseflade > temaet > udformning. , her kan man se, at der er mange layout filer til et givet modul.hver magento modul har sin egen layout filer, som kunden modul har , kunde. xml,,,,,, , layout - fil, ,,,,,, katalog modul har , katalog. xml,,, ,,,,,,, layout fil osv. disse layout datafiler indeholder strukturelle blokke og indhold gader.,,, hvis du undrer dig over, hvorfor magento har brug for disse blokke, du kan lære mere om det i første del af den serie. lad os grave mere i udformningen af filer, lad os grave mere i udformning filer, ved at se på et eksempel.gå til app > design > frontend > uædle > udformning, og åbne , kunde. xml,,, ,,,, fil.her er alle blokke er viklet rundt om de vigtigste , < layout >,, , tag.kan du se de forskellige < tag >, der indeholder specifikke luftrumsblokke. , se nedenfor snippet:,, <!- ny kunde registrering... > < customer_account_create oversætte = "mærkning" > < etiket > kunde registreringsformularen < /etiketten > <!-- Mage_Customer --> <remove name="right"/> <remove name="left"/> <reference name="root"> <action method="setTemplate"><template>page/1column.phtml</template></action> </reference> <reference name="content"> <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml"> <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label"> <label>Form Fields Before</label> </block> </block> </reference> < /customer_account_create >,, håndtag, håndtag er den primære enhed, som magento identificerer, der blokerer for belastning, når en bestemt modul, der kaldes. , < customer_account_create >,, er modulet særlig klare.det bliver udløst, når man åbner den kunde registrering side. , hver håndtag indhold indlejrede blokere specifikke til side.nogle af layout datafiler indeholder de , < standard >,, , klare.på dette tidspunkt, kan de anmode om forskellen mellem modul specifikke håndtag og misligholdelse håndtag.kort sagt, modul specifikke håndtag kun, at blokkene i det, da dette modul er truffet i browser i misligholdelse håndtering af byrder i de fleste af side.,,,, < block >,,, i håndtaget er der forskellige blokke, som fastlægger modellen dossier, der skal gøre når blokken der er blevet kaldt.blokke, er af to typer: ,, structurer blokke, indhold, blokke, i vores layout fil vi fastlægger kun indhold, blokke, , og så vi pakker dem ind, tructurer blokke,,. , for eksempel, hvis nogen ringer til en kunde, registrering side, og vi ønsker at få det til venstre, højre, indhold eller fod, vi pakker, der blokerer i deres respektive structurer blok.her har vi pakket to blokke i "indhold" blok, som er en structurer blok. , blokke indeholder attributter som følgende:,,,,,,, type, definerer den blok klasser, hvor vi kan definere de forskellige funktioner, navn , definerer, , unikt navn af særlig blok, så de andre blokke kan henvise til eksisterende blok ved navn og udvide det, før /efter , har for at vi kan fastsætte, at give os mulighed for at fastlægge den holdning, vores blok i structurer blok, model , definerer den faktiske, phtml, file navn og sti, hvor vores html og folkesundhedsprogrammet koden, aktion , giver os mulighed for at starte en aktion som lastning javascript og ved at anvende denne attribut, som , er en attribut anvendes hovedsagelig til structurer blokke, < reference >,,,,, < reference >, tag er brugen at udvide de blokke, der allerede eksisterer.i dette tilfælde har vi udvidet indholdet blok og indsættes i vores eget felt i den.du skal bruge den rigtige gade navn, at du ønsker at udvide.,,,,, < fjerne >,,,, < fjerne >, tag er brug for at fjerne de særlige blok.for eksempel sige, at på din konto registrering side, du ikke vil se til højre og venstre kolonne.i dette tilfælde, så kan du bare fjerne den blok med følgende syntaks , < fjerne navn = "din blok navn" >.,,, barn < block >,,, når du pakker en blok under en anden blok, pakket blok kaldes barn blok.Whenever our parent block is called by our module, the child block is automatically called.,,,<block type='core/template' name='parent' template='parent.phtml'> <block type='core/template' name='child' template='child.phtml'/> </block> ,,You can call child block separately too with below syntax in you template file,,echo $this->getChildHtml(‘child');,,,,root <block>,,,Open ,page.xml,, ,layout file, you will find the ,<root>,, ,block that is looks like below,,, <block type="page/html" name="root" output="toHtml" template="page/3columns.phtml">,,Magento starts rendering from the root block. alle andre blokke er barn blokke af roden blok.grund blokere definerer strukturen i den side.Here, you can see that currently it's set to ,3columns.phtml,, you can change this to ,1column.phtml,,2columns-right.phtml, or ,2columns-left.phtml.,,,,Adding CSS and JavaScript to the Layout XML,,,For any particular page you can add CSS and JavaScript files into layout tag like this:,,,<customer_account_create> <reference name='head'> <action method="addCss"><stylesheet>css/styles.css</stylesheet></action> <action method="addJs"><script>varien/js.js</script></action> </reference> </customer_account_create> ,,Here you can see that we have added a CSS file and a JavaScript file inside the ,head, of our customer account page.,,What Are The Block Classes?,, block klasser er brug for at definere de funktioner, der er specifikke for bestemte blok.block klasser fil er bosiddende i , app > kode > lokale /ef /central > din modul namespace > din modul navn > blok, , fortegnelse.disse akter indeholder de funktioner, som vi kan bruge direkte med ,,,,,,,,, $her, , nøgleord i felt bestemt skabelon fil.lad os tage et eksempel til at forstå den blok klasser.,, gå til, review.xml, filen, der er bosiddende i, app > design > frontend > uædle > standard > layout, registre og finde følgende linje i kode:,, <!- kunde hjem instrumentbræt layout - > < customer_account_index > <!- mage_review - > < reference navn = "customer_account_dashboard" > < blok type = "revision /customer_recent" navn = "customer_account_dashboard_info1" = = "info1" model "review /kunde /seneste. phtml" /> < /reference > < og /customer_account_index >,, her kan du se blok, revision /customer_recent,,, ,,,,, der henviser til den model, der for nylig. phtml,,,. ,,,, at , app > design > frontend > uædle > standard > skabelon > revision > kunde, og åbne , senere. phtml,,. ,,,,, i denne sag, kan du se to funktioner er bruge $, nøgleord.de er $- > getcollection(), og $- > count(),,. disse funktioner er fastlagt i deres felt klasser fil , seneste. php,,, ,,,,,,, det er bosat i app > kode > centrale > magiker > revision > block > kunde, , fortegnelse.,,, den blok, type = "revision /customer_recent" henviser til de , mage_review_block_customer_recent, block klasse, der definerer, recent.php, fil.hvad funktioner defineres i denne klasse, kan du bruge det i en tilsvarende model direkte fil med $,.,, skabe skik modul layout og blokere filer, og endelig, at vi stod tilbage med skik "hej" modul med inspektøren.her skaber vi layout fil af vores skik module.so lad os skabe det. at skabe layout fil, er vi nødt til at skabe de første klasse fil.før vi tilføjer klasse fil, vi er nødt til at fortælle os, at vi er herunder blokere modul filer.så gå til app > kode > lokale > chiragdodia > mymodule > osv. >,,,, ud. xml -, og tilføje følgende linje i kode:,, < frontend > < layout > < og opdateringer > < mymodule > < fil > mymodule. xml < /fil > <!- vores layout file navn... > < /mymodule > < /opdateringer > < //> < /frontend > < globale > < blokke > < mymodule > < og klasse > chiragdodia_mymodule_block < /klasse > < /mymodule > < /blokke > < /globale >,, den endelige xml - fil indeholder følgende linjer kode:,, <?xml - version = "0"?> < ud > < moduler > < chiragdodia_mymodule > < version > 0.1.0 < /version > <!- version af modul - > < /chiragdodia_mymodule > < /moduler > < frontend > < routere > < mymodule > < brug > standard < /anvende > < args > < modul > chiragdodia_mymodule < /modul > < frontname > mymodule < /frontname > < /args > < /mymodule > < /routere > < udformning > < opdateringer > < mymodule > < fil > mymodule. xml < /fil > <!- vores layout file navn... > < /mymodule > < /opdateringer > < //> < /frontend > < globale > < blokke > < mymodule > < og klasse > chiragdodia_mymodule_block < /klasse > < /mymodule > < /blokke > < /globale > < /ud >, skabe blok klasse fil,,,, så gå til, app > kode > lokale > chiragdodia > mymodule > blok, og skabe den fil mymodule. folkesundhedsprogrammet, er, ,,,,, som indeholder følgende linjer kode, <?php klasse chiragdodia_mymodule_block_mymodule udvider mage_core_block_template {offentlige funktion myfunction() {tilbage "hej tuts + verden"}}, her har vi erklæret den klasse, chiragdodia_mymodule_block_mymodule, som indeholder funktion, myfunction, som vi kan kalde direkte fra vores layout skabelon fil., skabe layout xml - fil, gå til app > design > frontend > standard > standard > udformning, og skabe, mymodule.xml, fil, som indeholder følgende linjer kode, <?xml - version = "0"?> < layout version = "0.1.0" > < mymodule_index_index > < reference navn = "indhold" > < blok type = "mymodule /mymodule" navn = "mymodule" template = "mymodule /mymodule. phtml" /> og lt; /reference > < /mymodule_index_index > < //>,, skaber den skabelon fil, gå til , app > design > frontend > standard > standard > skabelon, og skabe det, mymodule.phtml, fil.i denne sag, vil vi opfordre den funktion, myfunction, at vi har erklæret i vores afdeling klasse.,, <?php echo $- > myfunction();?>,, hvis det er korrekt, som hidtil, vil de se, produktionen med tre kolonner, indretning af adgang til url yoursite. kom /index.php /mymodule /index.,,,, i nogle magento versioner, default temaer ikke indeholder layout og skabelon telefonbøger.i så fald kan du skabe dit layout og skabelon fil i app > design > frontend > basen, , fortegnelse.,,, det er hvordan opstillingsskemaer arbejde i magento.i den foregående artikel, vi skabte den simple "goddag" modul, i denne artikel, vi har skabt ved hjælp af layout fil. den magento layout struktur er lidt svært at forstå i starten, men når du begynder at pille ved det, kan du nemt få den idé, der ligger bag. , i denne post. jeg har lagt det modul demo filer, som vi har skabt, indtil nu.de er fri til at fremsætte bemærkninger og spørgsmål, som de måtte have om dette særlige spørgsmål.