Navigation par filtre avancée

GoMage avancée de navigation est conçue pour optimiser et améliorer la navigation de votre boutique en ligne Magento.Ajax filtre d’intégration permet à vos clients de filtrer les catégories inutiles, les attributs, et les produits pour trouver ce qu’ils cherchent rapidement. GoMage avancée Navigation avec filtres intégrés ajax rafraîchit les données sélectionnées rapidement permettant à vos clients de profiter des boutiques plutôt que d’attendre pour la page entière pour se rafraîchir.

Lien du téléchargement

Ajouter tinyMCE au champ « Extrait » de WordPress

Pour ajouter TinyMCE au champ extrait de wordpress, Coller ce code dans le fichier function.php de votre thème.

function _add_tinymce_excerpt() { ?>
	<script type="text/javascript">
	jQuery(document).ready( function () {
			jQuery("#excerpt").addClass("mceEditor");
			if ( typeof( tinyMCE ) == "object" && typeof( tinyMCE.execCommand ) == "function" ) {
				jQuery("#excerpt").wrap( "<div id='editorcontainer'></div>" );
				tinyMCE.execCommand("mceAddControl", false, "excerpt");
			}
		});
	</script>
	<?php
}
add_action('admin_head', '_add_tinymce_excerpt');

 

Problème de pagination d’un listing de produit sur une page CMS de Magento

Lorsque de l’on appelle une catégorie sur une page CMS, par exemple une page PROMO, la pagination dans le listing des produits ne s’affiche plus.

Ne pas ajouter le code {{block type= »catalog/product_list » category_id= »ID DE VOTRE CATEGORIE » template= »catalog/product/list.phtml »}} –> que l’on met dans le contenu de la page CMS

Pour cela, ajouter dans Admin > CMS > Pages > Votre page CMS > Habillage > XML de mise à jour d’agencement , entrer ce code :
<reference name= »content »>
<block type= »catalog/product_list » name= »home » template= »catalog/product/list.phtml »>
<action method= »setCategoryId »><category_id>ID DE VOTRE CATEGORIE</category_id></action>
<block type= »catalog/product_list_toolbar » name= »product_list_toolbar » template= »catalog/product/list/toolbar.phtml »>
<block type= »page/html_pager » name= »product_list_toolbar_pager »/>
</block>
<action method= »setToolbarBlockName »><name>product_list_toolbar</name></action>
</block>
</reference>

Déplacer la recherche avancée de magento dans un bloc statique

Pour mettre la recherche avancée dans un bloc statique magento.

  • Créer un bloc statique dans l’admin de magento : « sidebar_search » et y mettre le code {{block type= »catalogsearch/advanced_form » name= »catalogsearch_advanced_form » template= »catalogsearch/advanced/form.phtml »}}
  • dans le fichier /app/design/frontend/default/MON THEME/layout/cms.xml appeler le bloc statique : dans <default> </default>
<reference name= »left »>
<block type= »cms/block » name= »sidebar_search » before= »- »>
<action method= »setBlockId »><block_id>sidebar_search</block_id></action>
</block>
</reference>
</default>

ATTENTION : en testant le bloc de recherche, vous vous apercevrez que lorsqu’on l’on fait une recherche on tombe sur la page Erreur de Magento.

Pour cela, il faut copier le fichier app/code/core/Mage/CatalogSearch/Model/Advanced.php dans app/code/local/Mage/CatalogSearch/Model/Advanced.php et modifier la fonction « function getSearchPostUrl »

Changer la ligne 252 par

   public function getSearchPostUrl()
{
return $this->getUrl(‘catalogsearch/advanced/result’);
}

Puis régler votre style.css

Changer l’ordre des attributs dans la recherche avancée de Magento

Copier le fichier app/code/core/Mage/CatalogSearch/Model/Advanced.php dans app/code/local/Mage/CatalogSearch/Model/Advanced.php ,

Changer le code « setOrder » dans la fonction : function getAttributes() et y ajouter la liste de ces attributs

->setOrder("
CASE main_table.attribute_code
WHEN 'mon_premier_attribut' THEN 1
WHEN 'mon_deuxieme_attribut' THEN 2
WHEN 'mon_troisieme_attribut' THEN 3
END
",'asc')

Changer l’affichage de la liste déroulante de magento

Nativement, Magento affiche une liste déroulante avec une multiselection lorsque que l’attribut comporte plus de deux options

Pour faire afficher dans une liste déroulante simple, il faut copier le fichier app/code/core/Mage/CatalogSearch/Block/Advanced/form.php et le coller dans app/code/local/Mage/CatalogSearch/Block/Advanced/form.php  (pour éviter qu’à la prochaine mise à jour de Magento, le code soit écrasé).

Changer le code

public function getAttributeSelectElement($attribute)
{
// 2 - avoid yes/no selects to be multiselects
if (is_array($options) && count($options)>2) {
$extra = 'multiple="multiple" size="4"';
$name.= '[]';
}
else {
array_unshift($options, array('value'=>'', 'label'=>Mage::helper('catalogsearch')->__('All')));
}
 
Par
public function getAttributeSelectElement($attribute)
{
// 2 - avoid yes/no selects to be multiselects
if (is_array($options) && count($options)>1000) {
$extra = 'multiple="multiple" size="4"';
$name.= '[]';
}
else {
array_unshift($options, array('value'=>'', 'label'=>Mage::helper('catalogsearch')->__('All')));
}
}

 

Autre technique :changer avec ce code
public function getAttributeSelectElement($attribute,$dropdown=false)
{
// 2 - avoid yes/no selects to be multiselects
if (!$dropdown && is_array($options) && count($options)>2) {
$extra = ’multiple= »multiple » size= »4″‘;
$name.= ’[]‘;
}
else {
array_unshift($options, array(‘value’=> », ’label’=>Mage::helper(‘catalogsearch’)->__(‘All’)));
}

}

Et dans le fichier : app/design/frontend/default/MON THEME/template/catalogsearch/advanced/form.php ligne 60 changer avec ce code

case 'select': ?>
<div class="input-box">
<?php echo $this->getAttributeSelectElement($_attribute,true) ?>
</div>
<?php break;

Ne pas afficher les attributs vides dans magento

Magento affiche par défaut les attributs vides comme « non » ou « N/A ».

Pour ne pas aficher les attributs vides dans la fiches produits de magento, ouvrez le fichier / app / design / frontend / default / [nom du thème] / template / catalog / product / view / attribute.phtml dans un éditeur et recherchez les lignes suivantes

<?php foreach ($_additional as $_data): ?>
<tr>
<th><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
<td><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php endforeach; ?>

par les lignes suivantes

<?php foreach ($_additional as $_data): ?>
<?php $_attribute = $_product->getResource()->getAttribute($_data['code']);
if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) !=  »)) { ?>
<tr>
<th><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
<td><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php } ?>
<?php endforeach; ?>

 

Améliorer le template de l’admin de wordpres

Lorsque l’on a un mélange de texte noir et blanc sur un site web, le texte en blanc ne se voit pas dans l’éditeur de texte de wordress. Il faut changer le fond blanc en fond gris dans l’éditeur de wordpress.
Pour cela, dans notre template,

  • prendre le fichier editor-style.css
  • ajouter à la ligne 6
    html .mceContentBody {
    background:  #CCCCCC !important;

        max-width: 100%;
    }

Pour que les tableaux dans l’éditeur de wordpress ne soit pas réduits, changer dans le fichier editor-style.css de notre template :

  • ligne  221
    table{
    width: 100%;
    }

Rendre aussi les bordures des tableaux visible : changer la ligne 230 –> tr th{}

  • border: 1px solid #999 !important;

Attention, n’oubliez pas de vider manuellement les caches de votre navigateur si ça ne fonctionne pas.

Installer un template magento pour Iphone, Ipod et autre smartphone

Pour paramétrer un template magento compatible avec tous les smartphones, il faut :

  • tout d’abord, télécharger le theme « Iphone » de magento
  • Aller dans le back abmin de magento : dans système –> configuration –> habillage
  • Puis ajouter le thème d’iphone en cliquant sur « ajouter une exception » pour gabarits, habillage(image.css), Agencement et par défaut :
    Expression correspondante : iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini|Symbian|Blazer|Handspring|Nokia|Kyocera|Samsung|Motorola|Smartphone|Windows CE|WAP|SonyEricsson
    Valeur : iphone