RSS
 

Articles associés au tag ‘bloc’

Afficher des produits de son choix sur une page

24 juin

Par exemple, je veux faire figurer une sélection de produits en haut de page, dans un slideshow, dans la page de résultats.
Voir exemple : http://www.import-auto-discount.com/achat-voiture-neuve.html
slideshow magento

On veut afficher des produits choisis dans une page

1 – Création d’un attribut nommé defil dans catalogue/Attribut/Gérer les attribut/ Nouvel attribut
Ajouter un attribut

2- Insérer l’attribut dans le groupe d’attribut souhaité dans Catalogue/Attribut/Gérer les groupes d’attribut
Groupe d'attribut
3 – Copier app/code/core/Mage/Catalog/Block/Product/List/Promotion.php et l’enregistrer sous app/code/local/Mage/Catalog/Block/Product/List/Defil.php
et modifier ces lignes :

class Mage_Catalog_Block_Product_List_Defil extends Mage_Catalog_Block_Product_List     // On change le nom de la classe
{
protected function _getProductCollection()
{
if (is_null($this->_productCollection)) {
$collection = Mage::getResourceModel('catalog/product_collection');
Mage::getModel('catalog/layer')->prepareProductCollection($collection);
// your custom filter
$collection->getSelect()->order('rand()');        // On ajoute un affichage aléatoire
$collection->addAttributeToFilter('defil', 1)     // On remplace promotion par defil
->addStoreFilter()
->setPage(1, 2)                // On limite le nombre de résultats affichés à 2
->load();

$this->_productCollection = $collection;
}
return $this->_productCollection;
}
}

4- Les produits pour lesquels vous sélectionnez Oui (dans le back-office) seront affichés sur le bloc defil qui peuvent être affichés grâce à une mise en page personnalisée.
On affiche le résultat avec la ligne suivante placée dans un layout :

<block type=”catalog/product_list_defil” name=”product_defil” template=”catalog/product/list.phtml”/>

Ou dans le contenu d’une page ou d’un bloc CMS

{{block type='catalog/product_list_defil' template='catalog/product/list.phtml'}}

5- Il est possible de modifier sa mise en page en dupliquant le fichier app/design/frontend/default/mon-theme/template/catalog/product/list.phtml par ma-liste.phtml
Alors on utilisera :

<block type=”catalog/product_list_defil” name=”product_defil” template=”catalog/product/ma-liste.phtml”/>

ou

{{block type='catalog/product_list_promotion' template='catalog/product/ma-liste.phtml'}}

Pour insérer ces articles dans un slideshow, rendez-vous à l'article :

Afficher des articles dans un slideshow

 
 

Snippet d’insertion de bloc

24 juin

Chemin d’une image

<?php echo $this->getSkinUrl('images/mon-image.png'); ?>

Insérer un bloc statique dans un fichier .phtml

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('11')->toHtml()  // 11 est l'id du bloc à afficher ?>

Insérer un fichier .phtml dans une page cms

{{block  type="core/template" template="chemin/mapage.phtml"}}

Insérer une page .phtml dans une autre  page

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

Snippets avec les fichiers layout de Magento

24 juin

Insérer la newsletter

<reference name="left">
<block type="newsletter/subscribe" name="right.newsletter" template="newsletter/subscribe.phtml"/>
</reference>

Sortir ou désactiver un bloc

<remove name="catalog.compare.sidebar" />

Insérer une page CMS

<block type="cms/block" name="nom-de-ma-page" after="catalog.leftnav">
<action method="setBlockId"><block_id>nom-de-mon-bloc</block_id></action>
</block>

Positionner un bloc

pour mettre le bloc après un autre, on utilise after= »nom-du-bloc-précédent » :

<block type="cms/block" name="mon-bloc" after="nom-du-bloc-precedent">

pour mettre le bloc avant un autre, on utilise before= »nom-du-bloc-suivant » :

<block type="cms/block" name="mon-bloc" before="nom-du-bloc-suivant">

pour mettre le bloc en dernière position, on utilise after= »- » :

<block type="cms/block" name="mon-bloc" after="-">

pour mettre le bloc en première position, on utilise before= »- » :

<block type="cms/block" name="mon-bloc" before="-">

Insérer un script

<reference name=”head”>
<action method=”addJs”><script>scriptaculous/scriptaculous.js</script></action>
<action method=”addJs”><script>varien/product.js</script></action>
</reference>

Limiter le nombre de résultats dans une page liste

<action method="setDefaultListPerPage"><limit>4</limit></action>
<action method="setDefaultGridPerPage"><limit>9</limit></action>

handles layout xml  : pages configurables disponibles

default
catalog_category_default    (* aussi utilisé dans directory.xml)
catalog_category_layered    (* aussi utilisé dans directory.xml)
catalog_product_compare_index
catalog_product_gallery
catalog_product_send
catalog_product_view   (* aussi utilisé dans customeralert.xml, tag.xml)
catalog_seo_searchterm_popular
catalog_seo_sitemap_category
catalog_seo_sitemap_product

catalogsearch_advanced_form
catalogsearch_advanced_result
catalogsearch_result_index
catalogsearch_term_popular

checkout_cart_index      (* aussi utilisé dans googlecheckout.xml, paypal.xml)
checkout_multishipping
checkout_multishipping_address_editaddress
checkout_multishipping_address_editbilling
checkout_multishipping_address_editshipping
checkout_multishipping_address_newbilling
checkout_multishipping_address_newshipping
checkout_multishipping_address_select
checkout_multishipping_address_selectbilling
checkout_multishipping_addresses
checkout_multishipping_billing
checkout_multishipping_customer_address
checkout_multishipping_login
checkout_multishipping_overview
checkout_multishipping_register
checkout_multishipping_shipping
checkout_multishipping_success
checkout_onepage_additional
checkout_onepage_index
checkout_onepage_progress
checkout_onepage_review
checkout_onepage_shippingmethod
checkout_onepage_success

cms_index_defaultindex
cms_index_defaultnoroute

customer_account            (* aussi utilisé dans newsletter.xml, review.xml, sales.xml, wishlist.xml)
customer_account_create
customer_account_edit
customer_account_forgotpassword
customer_account_index      (* aussi utilisé dans catalog.xml, newsletter.xml, poll.xml, review.xml, sales.xml, tag.xml, wishlist.xml)
customer_account_login
customer_address_form
customer_address_index
customer_logged_in
customer_logged_out
customer_account_logoutsuccess

giftmessage_index_edit
giftmessage_index_save
giftmessage_index_remove

newsletter_manage_index

paypal_express_review
paypal_express_review_details

print

review_customer_index
review_customer_view
review_product_list
review_product_view
reviews

sales_order_details
sales_order_history
sales_order_print
sales_order_view

shipping_tracking_ajax

tag_customer_index
tag_customer_edit
tag_customer_view
tag_list_index

wishlist_index_index