Jak přidat vlastní tlačítko do administračního rozhraní obchodu Magento
Ve fófu nám vznikl dotaz, jak cokoliv přidat do administračního rozhraní Magenta. A protože to má být obsáhlejší, rozhodl jsem se z toho udělat návod a ne odpověď ve fóru.
Pro příklad je potřeba si nejprve vymyslet zadání ;-)
Zadání
Přidat tlačítko s odkazem na internetové stránky firmy iguru.eu do administračního rozraní do sekce Šablony zpravodaje (nalezneme jí v Zpravodaj->Šablony zpravodaje)
Jak postupovat
Jak už jsem psal ve fóru, na to, abychom cokoliv „natvrdo“ předělali v administračním rozhraní, stačí změnit příslušný .phtml soubor v adresáři /app/design/adminhtml/default/default/template/ +příslušný podadresář modulu Někdy bývá problém najít, který soubor potřebujeme, proto je lepší si Magento přepnout z češtiny do angličtiny.
Pokud toto provedeme v tomto případě, zjistíme, že sekce do které chceme naše tlačítko přidat se najednou nalézá pod položkami menu Newsletter->Newsletter Templates což je výborné, protože stejnou adresářovou strukturu najdeme i na disku.
Přesuneme se proto nějakým diskovým manažerem (např. Total Commander na operačním systému Windows, nebo Krusader pro Linux s grafickým rozhraním Kde, v terminálu na serveru můžeme použít například Midnight Commander (příkaz mc)) do adresáře /app/design/adminhtml/default/default/template/newsletter/template ve kterém se nacházejí tři soubory.
- edit.phtml
- list.phtml
- preview.phtml
Jak již anglické názvy napovídají, edit.phtml bude sloužit k editaci šablony, list.phtml k výpisu šablon a preview.phtml k náhledu zpravodaje.
My budeme chtít umístit tlačítko do seznamu šablon, pod tlačítko Add New Template nebo v češtině Přidat novou šablonu.
Otevřeme si tedy soubor list.phtml k úpravám (klávesa F4 ve všech uváděných diskových manažerech).
Soubor list.phtml vypadá takto (vynechána byla úvodní hlavička):
?>
<div class="content-header">
<table cellspacing="0">
<tr>
<td style="width:50%;"><h3 class="icon-head head-newsletter-list"><?php echo $this->getHeaderText() ?></h3></td>
<td class="form-buttons">
<button class="scalable add" onclick="window.location='<?php echo $this->getCreateUrl() ?>'"><span><?php echo Mage::helper('newsletter')->__('Add New Template'); ?></span></button>
</td>
</tr>
</table>
</div>
<div>
<?php echo $this->getChildHtml('grid') ?>
</div>
Pak už nám nezbývá nic jiného, než si to přečíst a buď pochopit, co to dělá a nebo si pouze všimnout, že se jedná o html tabulku.
Rozšíříme tedy kód tabulky o jeden řádek navíc s tím, že v levé buňce nebude nic a v pravé přibude naše tlačítko.
Upravený soubor tedy bude vypadat takto:
?>
<div class="content-header">
<table cellspacing="0">
<tr>
<td style="width:50%;"><h3 class="icon-head head-newsletter-list"><?php echo $this->getHeaderText() ?></h3></td>
<td class="form-buttons">
<button class="scalable add" onclick="window.location='<?php echo $this->getCreateUrl() ?>'"><span><?php echo Mage::helper('newsletter')->__('Add New Template'); ?></span></button>
</td>
</tr>
<tr>
<td style="width:50%;"></td>
<td class="form-buttons">
<button class="scalable add" onclick="window.location='http://iguru.eu'"><span>iguru.eu</span></button>
</td>
</tr>
</table>
</div>
<div>
<?php echo $this->getChildHtml('grid') ?>
</div>
Poté, co soubor uložíte (v TC a Krusader klávesovou zkratkou Ctrl+S v MC klávesou F2) už můžeme přejít do administračního rozraní do menu Zpravodaj->Šablony zpravodaje (Newsletter->Newsletter Templates) a měli byste vidět stejný výsledek, jako na přiloženém obrázku.
Přeji hodně úspěchů při kódování ;-)
Michal Moc
| Příloha | Velikost |
|---|---|
| pridani_tlacitka.png | 80.74 KB |
- Pro možnost psaní komentářů se přihlašte nebo zaregistrujte.

Komentáře
Thank you for sharing this information. I found it very informative as I have been researchingprom dress a lot lately on practical matters such as you talk about