Tout au long de ce tuto, nous allons assumer que nous travaillons sur un bloc nommé Pushoffre appartenant à un module nommé responsive du projet nommé alainflou.
Pour commencer, nous allons localiser le bloc Pushoffre dans alainflou\modules\responsive\lib\blocks\BlockPushoffreAction.class.php
. Une fois ouvert dans un éditeur, localiser la ligne $request->setAttribute('pushoffre', $this->getDocumentParameter());
et, juste en-dessous, placer notre var_dump var_dump($this->getDocumentParameter());
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php /** * responsive_BlockPushoffreAction * @package modules.responsive.lib.blocks */ class responsive_BlockPushoffreAction extends website_BlockAction { /** * @param f_mvc_Request $request * @param f_mvc_Response $response * @return String */ public function execute($request, $response) { if ($this->isInBackofficeEdition()) { return website_BlockView::NONE; } $request->setAttribute('pushoffre', $this->getDocumentParameter()); // var_dump($this->getDocumentParameter()); return website_BlockView::SUCCESS; } } |
Rendez-vous dans votre navigateur préféré et chargez une page qui contient le bloc Pushoffre. Le var_dump a normalement pour effet d’afficher tout un tas d’informations de ce type :
object(responsive_persistentdocument_pushoffre)#213 (27) { ["m_author":"responsive_persistentdocument_pushoffrebase":private]=> string(8) "wwwadmin" ["m_authorid":"responsive_persistentdocument_pushoffrebase":private]=> int(45063) ["m_creationdate":"responsive_persistentdocument_pushoffrebase":private]=> string(19) "2016-08-16 14:41:47" ["m_modificationdate":"responsive_persistentdocument_pushoffrebase":private]=> string(19) "2016-08-16 14:41:47" ...
Nous allons maintenant tenter d’afficher proprement en front certaines informations contenues dans ce bloc (libellé du bloc, cible d’une image associée à ce bloc, texte de contenu de ce bloc, et URL du lien associé au texte de ce bloc). Les informations affichées via le var_dump qui nous intéressent sont :
["m_label":"responsive_persistentdocument_pushoffreI18n":private]=> string(29) "ezrr dffvds sdgrezgzthrytht r"
["m_media":"responsive_persistentdocument_pushoffrebase":private]=> int(1370814)
["m_text":"responsive_persistentdocument_pushoffreI18n":private]=> string(24) "ez grehggbhn-zrnggngn nn" } }
["m_textLink":"responsive_persistentdocument_pushoffrebase":private]=> string(20) "http://www.google.fr"
Pour ce faire, localiser le template alainflou\modules\responsive\templates\Responsive-Block-Pushoffre-Success.all.all.html
.
1 2 3 4 5 6 7 8 |
<div class="one-offre"> <a class="link" href="${pushoffre/getTextLink}"> <img class="one-offre-image" change:media="document pushoffre/getMedia; format 'modules.catalog.frontoffice/medium'" /> <p class="one-offre-text">${pushoffre/getText}</p> <!-- <p>${pushoffre/getMedia}</p> --> <!-- <h1>${pushoffre/getLabel}</h1> --> </a> </div> |
La manière de réexploiter les données du var_dump dans un tmplate de bloc est la suivante :
<h1>${pushoffre/getLabel}</h1>
<img class="one-offre-image" change:media="document pushoffre/getMedia; format 'modules.catalog.frontoffice/medium'" />
<p class="one-offre-text">${pushoffre/getText}</p>
<a class="link" href="${pushoffre/getTextLink}"></a>
Autre façon de récupérer et d’afficher des informations contenues dans une fonction :
\\change30\alainflou\modules\project\persistentdocument\framedeclination.class.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/** * @param Integer $index * @return String|NULL */ public function getFramephysicalpropertyValueByIndex($index) { $data = $this->getFramephysicalproperty(); if (f_util_ArrayUtils::isNotEmpty($data)) { return $data[0][$index]; } return null; } |
\\change30\alainflou\modules\responsive\templates\Responsive-Block-MetricBox-Success.all.all.html
1 2 3 4 5 6 7 8 |
${php: print_r(product.getFormattedFramephysicalproperty())} <p>1 CALIBRE (longeur d'un verre) -> ${php: product.getFramephysicalpropertyValueByIndex(1)}</p> <br/> <p>2 NEZ (longueur du pont) -> ${php: product.getFramephysicalpropertyValueByIndex(2)}</p> <br/> <p>3 longueur de face -> ${php: product.getFramephysicalpropertyValueByIndex(3)}</p> <br/> <p>8 longeur des branches -> ${php: product.getFramephysicalpropertyValueByIndex(8)}</p> |