Magdalena  Buraczewska-Świą tek

Magdalena
Buraczewska-Świą
tek
poetka, pedagog,
copywriterka,
dziennikarka,
konsultant d...

Temat: Magento - statyczne bloki

Witajcie,

zadam czysto laickie pytanie - w jaki sposób dodać blok statyczny (np. mam prawy sidebar i chciałabym tam "coś" dodać)

za odpowiedź już teraz baaardzo dziękuję

Temat: Magento - statyczne bloki

Witam,
Tak na szybko tworzysz sobie blok statyczny w adminie i dodajesz go do pliku xml np layout/page.xml w sekcji default:

<reference name="right">
<block type="cms/block" name="right_advert" as="right_advert">
<action method="setBlockId"><block_id>right_advert</block_id></action>
</block>
</reference>
Marcin Warycha

Marcin Warycha Wykładowca - Trener
IT, Konsultant IT,
Programista
system...

Temat: Magento - statyczne bloki

ok, to może po kolei:

W Magento rozróżniamy dwa rodzaje bloków, bloki statyczne i bloki generujące treść. Jeśli chciałabyś dodać np. coś do bloku - footer używasz referencji:

<reference name="footer"></reference>


Zakładam, że korzystasz z domyślnego szablonu zatem, powyżej przedstawioną referencje dodajesz do pliku layoutu:

app/design/frontend/base/default/layout/page.xml


Teraz tworzysz sobie szablon np. plik - newReference.phtml w katalogu:

app/design/frontend/base/default/template/page/html
:

oraz dodajesz wpis do referencji:

<reference name="footer">
<block type="page/html_newReference" name="newReference" as = "newReference" template="page/html/newReference.phtml">
</block>


Szablon np. posiada treść:
<h1 style="background-color:yellow">Custom Block </h1>


Zwróć uwagę na linijkę w pliku page.xml:

<block type="page/html" name="root" output="toHtml" template="page/3columns.phtml">


która wskazuje Ci szablon w którym znajduje się wpis:

<?php echo $this->getChildHtml('footer') ?>


co oznacza, że wyświetlając block footer wyświetlasz jednocześnie wszystkie bloki należące do jego sekcji (referencja na początku mojego wpisu). Zapewnia to właśnie metoda getChildHtml().

teraz utwórz plik newReference.php w katalogu:

app/code/core/Mage/Page/Block/Html


o następującej treści:

class Mage_Page_Block_Html_newReference extends Mage_Core_Block_Template
{
public $data;

public function getDate()
{
$date = date('Y-m-d');
$this-> data = urlencode($date);
}

}


I dodaj wpis do referencji:

<reference name="footer">         
<block type="page/html_newReference" name="newReference" as = "newReference" template="page/html/newReference.phtml">
<action method="getDate"></action>
</block>
</reference>


Następnie w pliku newReference.phtml dodaj:

<h1 style="background-color:yellow">Nowy customowy blok <?php echo $this->data; ?></h1>


Dzięki tagowi <action> wołasz metodę getDate, która ustawia publiczne pole klasy newReference.php - date. Odświerz witrynę, na dole strony zobaczysz efekty swojej pracy. W razie kłopotów zapraszam do kontaktu, chętnie pomogę.

Następna dyskusja:

Bloki statyczne w motywie s...




Wyślij zaproszenie do