<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Frédéric MARTINEZ - Freelance MAGENTO &#187; bloc statique</title>
	<atom:link href="http://www.martinez-frederic.fr/tag/bloc-statique/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.martinez-frederic.fr</link>
	<description>Freelance Magento Toulouse - Entrepreneur</description>
	<lastBuildDate>Wed, 01 Feb 2012 11:54:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Ajouter des blocs statiques dans Magento</title>
		<link>http://www.martinez-frederic.fr/2009/06/23/ajouter-des-blocs-statiques-dans-magento/</link>
		<comments>http://www.martinez-frederic.fr/2009/06/23/ajouter-des-blocs-statiques-dans-magento/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 08:47:51 +0000</pubDate>
		<dc:creator>Frédéric Martinez</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[bloc statique]]></category>
		<category><![CDATA[phtml]]></category>
		<category><![CDATA[promotion]]></category>
		<category><![CDATA[sidebar]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://martinez-frederic.fr/developpement/?p=160</guid>
		<description><![CDATA[Rajouter des blocs sous Magento est assez simple&#8230; Si on sait où chercher. Ces blocs vont permettre d&#8217;afficher des publicités, ou des promotions. Donc notre exemple, on veut afficher le produit en promotion du mois. Le principe est de créer un catégorie et de lier le produit voulu à cette catégorie. Rajouter un bloc statique [...]]]></description>
			<content:encoded><![CDATA[<div><img title="Les blocs statiques sous Magento - Comment rendre ce bloc administrable ?" src="http://www.martinez-frederic.fr/wp-content/uploads/2009/06/Furniture-Magento-Commerce-Demo-Store-Google-Chrome.png" alt="" width="518" height="241" /></div>
<p>Rajouter des blocs sous Magento est assez simple&#8230; Si on sait où chercher.</p>
<p>Ces blocs vont permettre d&#8217;afficher des publicités, ou des promotions. Donc notre exemple, on veut afficher le produit en promotion du mois. Le principe est de créer un catégorie et de lier le produit voulu à cette catégorie.</p>
<ol>
<li><a href="#h_1">Rajouter un bloc statique simple dans la sidebar de gauche</a></li>
<li><a href="#h_2">Faire en sorte que cela soit un bloc &laquo;&nbsp;dynamique&nbsp;&raquo;</a></li>
<li><a href="#h_3">Supprimer les options de tri dans l&#8217;affichage du produit</a></li>
<li><a href="#h_4">Rajouter des blocs dans la sidebar à partir de fichier .phtml sous Magento</a></li>
<li><a href="#h_5">Inclure le contenu d&#8217;un bloc statique dans un fichier .phtml sans toucher au XML</a></li>
<li><a href="#h_6">(extra facultatif) : Listing des blocs statiques sous Magento </a><a href="http://martinez-frederic.fr/2009/08/17/listing-des-pages-cms-et-des-blocs-statiques-sous-magento/">[Article à part]</a></li>
<li><a href="#h_7">Ajouter un bloc statique dans une page statique</a></li>
</ol>
<p><span id="more-160"></span></p>
<h2 id="h_1">Etape 1 : Rajouter un bloc statique simple dans la sidebar de gauche</h2>
<h3>Commençons par créer un bloc statique simple</h3>
<ul>
<li>Admin &gt; CMS &gt; Blocs statiques &gt; Ajouter un nouveau bloc</li>
<li>Remplissez les champs. Ex : Promotion du mois / promotion_du_mois / Activé / Voici le contenu du block &laquo;&nbsp;Promotion du mois&nbsp;&raquo;. Enregistrez.</li>
</ul>
<h4>a) Ajouter le bloc dans la sidebar dans TOUTES les pages du site ayant la sidebar</h4>
<p>Ouvrez (ou créer) le fichier :</p>
<pre class="brush: plain; title: ;">app/design/frontend/{/votre_theme/layout/local.xml</pre>
<pre class="brush: xml; title: ;">&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;layout version=&quot;0.1.0&quot;&gt;
	&lt;default&gt;&lt;/default&gt;
&lt;/layout&gt;
</pre>
<p>C&#8217;est votre fichier de layout personnalisé qui surchage tous les autres layout de votre thème.</p>
<ul>
<li>Rajoutez dans &lt;default&gt;&lt;/default&gt; ceci :</li>
</ul>
<pre class="brush: xml; title: ;">&lt;reference name=&quot;left&quot;&gt;
	&lt;block type=&quot;cms/block&quot; name=&quot;cms_promotion_du_mois&quot; before=&quot;-&quot;&gt;
		&lt;action method=&quot;setBlockId&quot;&gt;&lt;block_id&gt;promotion_du_mois&lt;/block_id&gt;&lt;/action&gt;
	&lt;/block&gt;
&lt;/reference&gt;
</pre>
<p>On a rajoute le bloc à gauche &laquo;&nbsp;left&nbsp;&raquo; (&laquo;&nbsp;content&nbsp;&raquo; pour le milieu, header, footer, right, selon les cas) qui est de type cms/block.<br />
On le note en préfixant par &laquo;&nbsp;cms_&nbsp;&raquo; (facultatif, c&#8217;est plus une notation pour se retrouver), et on le place tout en haut, <code>before="-"</code> (<code>after="-"</code> pour tout en bas).</p>
<h4>b) Ajouter le bloc uniquement pour la page d&#8217;accueil (ou une page en particulier)</h4>
<p>Nous reprenons le même code que précédemment :</p>
<pre class="brush: xml; title: ;">&lt;reference name=&quot;left&quot;&gt;
	&lt;block type=&quot;cms/block&quot; name=&quot;cms_promotion_du_mois&quot; before=&quot;-&quot;&gt;
		&lt;action method=&quot;setBlockId&quot;&gt;&lt;block_id&gt;promotion_du_mois&lt;/block_id&gt;&lt;/action&gt;
	&lt;/block&gt;
&lt;/reference&gt;
</pre>
<p>Que nous ajoutons cette fois-ci dans :</p>
<ul>
<li>Admin &gt; CMS &gt; Gestions des pages &gt; Home (votre page à modifier) &gt; Design Personnalisé &gt; XML de mise à jour d’agencement</li>
</ul>
<h2 id="h_2">Etape 2 : Faire en sorte que cela soit un bloc &laquo;&nbsp;dynamique&nbsp;&raquo;</h2>
<p>Pour lier le bloc à la catégorie &laquo;&nbsp;Promotion du mois&nbsp;&raquo;, il faut savoir l&#8217;identifiant de la catégorie :</p>
<ul>
<li>Admin &gt; Catalogue &gt; Gérer les catégories &gt; Choisissez votre catégorie, et notez l&#8217;ID en haut de la page (ici par exemple  : ID = 50)</li>
</ul>
<p>Liez votre produit à votre catégorie.</p>
<p>Modifier votre bloc statique :</p>
<ul>
<li>Admin &gt; CMS &gt; Blocs statiques &gt; Choisissez votre bloc</li>
<li>Dans le contenu, mettez :</li>
</ul>
<pre class="brush: plain; title: ;">{{block type=&quot;catalog/product_list&quot; category_id=&quot;50&quot; template=&quot;catalog/product/list.phtml&quot;}}</pre>
<p>Votre produit est affiché à gauche dans la sidebar</p>
<h2 id="h_3">Etape 3 : Supprimer les options de tri dans l&#8217;affichage du produit</h2>
<p>Le produit étant seul, les options d&#8217;affichage et de tri (9 par page, etc) sont inutiles. Cela se joue dans le fichier : app/design/frontend/{interface}/{theme}/template/catalog/product/list.phtml.</p>
<p>Cependant, si nous modifions ce fichier, tous les affichages des produits perdront eux aussi leur système de navigation.</p>
<ul>
<li>Faire une copie de list.phtml en list_accueil.phtml.</li>
<li>Modifiez le bloc statique :</li>
</ul>
<pre class="brush: plain; title: ;">{{block type=&quot;catalog/product_list&quot; category_id=&quot;50&quot; template=&quot;catalog/product/list_accueil.phtml&quot;}}</pre>
<ul>
<li>Ouvrez le fichier list_accueil.phtml</li>
<li>Supprimer en haut et en bas du fichier :</li>
</ul>
<pre class="brush: php; title: ;">&lt;?php echo $this-&gt;getToolbarHtml() ?&gt;</pre>
<p>Votre produit en promotion du mois est affiché simplement dans la sidebar de gauche.</p>
<p>Pour aller plus loin : Normalement, il faut créer notre propre module qui hérite de catalog/product_list. Ainsi nous pouvons maitriser la sélection (limiter les résultats, les trier, les rendre aléatoire, les mettre en cache, etc.). Cependant, nous nous arrêtons là par simplicité.</p>
<h2 id="h_4">Etape 4 : Rajouter des blocs statiques en formatant l&#8217;affichage sous Magento</h2>
<p>Les blocs statiques sont ajoutés tel quel dans le code source de la page. Or si vous activez le débugger :</p>
<ul>
<li>Admin &gt; Système &gt; Configuration</li>
<li>Dans la liste en haut à gauche de vos vues (Portée de la configuration courante :), ne prennez pas la configuration par défaut, mais celle juste en dessous, de votre magasin. Votre page se recharge.</li>
<li>Onglet Avancé &gt; Développeur</li>
<li>Mettez &laquo;&nbsp;Astuce chemin des gabarits&nbsp;&raquo; et &laquo;&nbsp;Ajouter les noms des blocs aux astuces&nbsp;&raquo; à &laquo;&nbsp;Oui&nbsp;&raquo;.</li>
<li>Sauvegardez. Rafraîchissez votre front-office (Ctrl + F5 sous Firefox)</li>
</ul>
<p>Tous les blocs &laquo;&nbsp;template&nbsp;&raquo; sont entourés de rouge avec le nom du fichier .phtml correspondant. Or notre solution ici n&#8217;est pas entouré d&#8217;un bloc.</p>
<p>On reprend donc l&#8217;étape 1. L&#8217;insertion dans le fichier layout/cms.xml dans &lt;default&gt; de :</p>
<pre class="brush: xml; title: ;">&lt;reference name=&quot;left&quot;&gt;
	&lt;block type=&quot;cms/block&quot; name=&quot;cms_promotion_du_mois&quot; before=&quot;-&quot;&gt;
		&lt;action method=&quot;setBlockId&quot;&gt;&lt;block_id&gt;promotion_du_mois&lt;/block_id&gt;&lt;/action&gt;
	&lt;/block&gt;
&lt;/reference&gt;
</pre>
<p>On le modifie pour que cela donne ceci :</p>
<pre class="brush: xml; title: ;">&lt;reference name=&quot;left&quot;&gt;
	 &lt;block type=&quot;core/template&quot; name=&quot;block_menu_sidebar_left&quot; before=&quot;-&quot; template=&quot;sidebar/promo.phtml&quot;&gt;
		 &lt;block type=&quot;cms/block&quot; name=&quot;promotion_du_mois&quot; before=&quot;-&quot;&gt;
		 	&lt;action method=&quot;setBlockId&quot;&gt;&lt;block_id&gt;promotion_du_mois&lt;/block_id&gt;&lt;/action&gt;
		 &lt;/block&gt;
	 &lt;/block&gt;
&lt;/reference&gt;
</pre>
<ul>
<li>On crée le dossier &laquo;&nbsp;sidebar&nbsp;&raquo; dans app/design/frontend/votre_interface/votre_theme/template</li>
<li>On crée à l&#8217;intérieur de ce dossier le fichier promo.phtml, avec à l&#8217;intérieur</li>
</ul>
<pre class="brush: php; title: ;">
&lt;div id=&quot;promotion_du_mois&quot;&gt;
	&lt;?php echo $this-&gt;getChildHtml() ?&gt;
&lt;/div&gt;
</pre>
<p>Vous pouvez personnaliser votre fichier .phtml pour mettre en avant un titre, la police, etc. grâce à votre &lt;div&gt;, contrairement à l&#8217;étape 1 qui ne permettait que d&#8217;afficher le contenu du bloc statique.</p>
<h2 id="h_5">Etape 5 : Inclure le contenu d&#8217;un bloc statique dans un fichier .phtml sans toucher au XML</h2>
<p>Quand on veut rendre administrable un paragraphe texte, on crée un bloc statique avec juste la ligne de texte en question. Pour l&#8217;afficher, on n&#8217;a pas besoin de créer un bloc dans les fichiers de layout (*.xml) et le positionner, vu que le bloc dans lequel on veut inclure notre texte est déjà défini (et positionné).</p>
<p>Ajoutez donc ceci dans le fichier *.phtml de votre choix (checkout/cart/sidebar.phtml par exemple)</p>
<pre class="brush: php; title: ;">echo $this-&gt;getLayout()-&gt;createBlock('cms/block&amp;')-&gt;setBlockId('id_bloc_statique&amp;')-&gt;toHtml() </pre>
<p>N&#8217;oubliez pas de changer l&#8217;identifiant par celui du bloc créé précédemment.</p>
<p>Cette méthode va plus vite, mais est moins joli que l&#8217;ajout depuis les layout.</p>
<h2 id="h_6">Etape 6 (extra facultatif) : Listing des blocs statiques sous Magento</h2>
<ul>
<li><a href="http://martinez-frederic.fr/2009/08/17/listing-des-pages-cms-et-des-blocs-statiques-sous-magento/">[Article à part]</a></li>
</ul>
<h2 id="h_7">Etape 7 : Ajouter un bloc statique dans une page statique</h2>
<p>Il est possible d&#8217;ajouter un bloc statique dans une statique en rajoutant des instructions directement dans le contenu de la page.</p>
<pre class="brush: plain; title: ;">
{{block type=&quot;cms/block&quot; block_id=&quot;home-seo&quot;}}
</pre>
<p>A noter qu&#8217;il est possible d&#8217;insérer ce code dans un autre bloc statique ou depuis une description d&#8217;un produit par exemple.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.martinez-frederic.fr/2009/06/23/ajouter-des-blocs-statiques-dans-magento/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Coder dans des fichiers *.phtml sans toucher aux fichiers *.xml</title>
		<link>http://www.martinez-frederic.fr/2009/06/23/coder-dans-des-fichiers-phtml-sans-toucher-aux-fichiers-xml/</link>
		<comments>http://www.martinez-frederic.fr/2009/06/23/coder-dans-des-fichiers-phtml-sans-toucher-aux-fichiers-xml/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 07:57:10 +0000</pubDate>
		<dc:creator>Frédéric Martinez</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[back-office]]></category>
		<category><![CDATA[bloc statique]]></category>
		<category><![CDATA[coder]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[xml]]></category>
		<guid isPermaLink="false">http://martinez-frederic.fr/developpement/?p=146</guid>
		<description><![CDATA[Sous Magento quand on veut commencer à développer, il faut coder dans un fichier *.phtml. Cependant, il y a 2 façons d&#8217;appeler ce fichier *.phtml : soit par les fichiers *.xml (les fichiers de layout, de disposition) qui font le lien entre un bloc statique et le fichier *.phtml soit directement depuis l&#8217;administration du bloc [...]]]></description>
			<content:encoded><![CDATA[<p>Sous Magento quand on veut commencer à développer, il faut coder dans un fichier *.phtml.</p>
<p>Cependant, il y a 2 façons d&#8217;appeler ce fichier *.phtml :</p>
<ul>
<li>soit par les fichiers *.xml (les fichiers de layout, de disposition) qui font le lien entre un bloc statique et le fichier *.phtml</li>
<li>soit directement depuis l&#8217;administration du bloc statique sans passer par les fichiers *.xml</li>
</ul>
<p style="padding-left: 30px;">Exemple : L&#8217;affichage de telle catégorie est différente et au lieu d&#8217;afficher les produits, on désire appeler un bloc statique qui lui aura besoin d&#8217;un peu de PHP.</p>
<p><span id="more-146"></span>Pour cette 2ème solution : on va dans :</p>
<ul>
<li>Admin &gt; Catalogue &gt; Gérer les catégories &gt; (votre catégorie) &gt; Onglet &laquo;&nbsp;Paramètre d&#8217;affichage&nbsp;&raquo;</li>
<li>Mode d&#8217;affichage : Bloc statique uniquement</li>
<li>Bloc CMS : Choisissez votre bloc</li>
</ul>
<p>Dans le contenu de votre bloc, vous insérez votre fichier *.phtml contenant vos traitements en PHP spécifique :</p>
<pre class="brush: plain; title: ;">{{block type='core/template' name='block_mon_bloc_cms' template='catalog/category/mon_bloc_cms.phtml'}}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.martinez-frederic.fr/2009/06/23/coder-dans-des-fichiers-phtml-sans-toucher-aux-fichiers-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
