Jump to content

[MODULE] Description perfectionnée des catégories


Recommended Posts

Enfin des pages catégories avec une description au rendu professionnel !

 

 

Ce module permet d'utiliser l'éditeur de texte TinyMCE qui se trouve déjà dans le back office pour les pages produits (descriptions courtes et longues) ainsi que dans le module editorial. Ceci vous permet d'améliorer la présentation des descriptions de vos catégories de manière à optimiser l'affichage et la qualité visuelle des pages catégories avec des images, liens, vidéos...Le rendu sera ainsi bien plus professionnel qu'un simple texte sans aucune mise en forme.

 

 

 

advanced-category-description.jpg

Edited by coeos.pro (see edit history)
Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

Depuis la version 1.5, si vous souhaitez utiliser l'éditeur tinyMCE pour le champs Description de la Catégorie, il suffit d'ajouter une ligne dans le fichier controllers/admin/AdminCategoriesController.php

 

Cherchez

           	 array(
                   'type' => 'textarea',
                   'label' => $this->l('Description:'),
                   'name' => 'description',
                   'lang' => true,
                   'rows' => 10,
                   'cols' => 100,
                   'hint' => $this->l('Invalid characters:').' <>;=#{}'
               ),

Remplacez par

           	 array(
                   'type' => 'textarea',
                   'label' => $this->l('Description:'),
                   'name' => 'description',
                   'lang' => true,
                   'autoload_rte' => true,
                   'rows' => 10,
                   'cols' => 100,
                   'hint' => $this->l('Invalid characters:').' <>;=#{}'
               ),

 

A+

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

j'aimerai coder ça proprement pour la 1.5, en utilisant la surcharge. Voici mon code (fichier /override/controllers/admin/AdminCategoriesControllers.php) mais ça ne fonctionne pas, une idée?

 

<?php
class AdminCategoriesController extends AdminCategoriesControllerCore
{
public function renderForm()
{
 $this->initToolbar();
 $obj = $this->loadObject(true);
 $id_shop = Context::getContext()->shop->id;
 $selected_cat = array((isset($obj->id_parent) && $obj->isParentCategoryAvailable($id_shop))? (int)$obj->id_parent : (int)Tools::getValue('id_parent', Category::getRootCategory()->id));
 $unidentified = new Group(Configuration::get('PS_UNIDENTIFIED_GROUP'));
 $guest = new Group(Configuration::get('PS_GUEST_GROUP'));
 $default = new Group(Configuration::get('PS_CUSTOMER_GROUP'));
 $unidentified_group_information = sprintf($this->l('%s - All people without a validated customer account.'), '<b>'.$unidentified->name[$this->context->language->id].'</b>');
 $guest_group_information = sprintf($this->l('%s - Customer who placed an order with the Guest Checkout.'), '<b>'.$guest->name[$this->context->language->id].'</b>');
 $default_group_information = sprintf($this->l('%s - All people who have created an account on this site.'), '<b>'.$default->name[$this->context->language->id].'</b>');
 $root_category = Category::getRootCategory();
 $root_category = array('id_category' => $root_category->id_category, 'name' => $root_category->name);
 $this->fields_form = array(
  'tinymce' => true,
  'legend' => array(
'title' => $this->l('Category'),
'image' => '../img/admin/tab-categories.gif'
  ),
  'input' => array(
array(
 'type' => 'text',
 'label' => $this->l('Name:'),
 'name' => 'name',
 'lang' => true,
 'size' => 48,
 'required' => true,
 'class' => 'copy2friendlyUrl',
 'hint' => $this->l('Invalid characters:').' <>;=#{}',
),
array(
 'type' => 'radio',
 'label' => $this->l('Displayed:'),
 'name' => 'active',
 'required' => false,
 'class' => 't',
 'is_bool' => true,
 'values' => array(
  array(
   'id' => 'active_on',
   'value' => 1,
   'label' => $this->l('Enabled')
  ),
  array(
   'id' => 'active_off',
   'value' => 0,
   'label' => $this->l('Disabled')
  )
 )
),
array(
 'type' => 'categories',
 'label' => $this->l('Parent category:'),
 'name' => 'id_parent',
 'values' => array(
  'trads' => array(
	'Root' => $root_category,
	'selected' => $this->l('selected'),
	'Collapse All' => $this->l('Collapse All'),
	'Expand All' => $this->l('Expand All')
  ),
  'selected_cat' => $selected_cat,
  'input_name' => 'id_parent',
  'use_radio' => true,
  'use_search' => false,
  'disabled_categories' => array(4),
  'top_category' => Category::getTopCategory(),
  'use_context' => true,
 )
),
array(
 'type' => 'radio',
 'label' => $this->l('Root Category:'),
 'name' => 'is_root_category',
 'required' => false,
 'is_bool' => true,
 'class' => 't',
 'values' => array(
  array(
   'id' => 'is_root_on',
   'value' => 1,
   'label' => $this->l('Yes')
  ),
  array(
   'id' => 'is_root_off',
   'value' => 0,
   'label' => $this->l('No')
  )
 )
),
array(
 'type' => 'textarea',
 'label' => $this->l('Description:'),
 'name' => 'description',
 'lang' => true,
    'autoload_rte' => true,
 'rows' => 10,
 'cols' => 100,
 'hint' => $this->l('Invalid characters:').' <>;=#{}'
),
array(
 'type' => 'file',
 'label' => $this->l('Image:'),
 'name' => 'image',
 'display_image' => true,
 'desc' => $this->l('Upload category logo from your computer')
),
array(
 'type' => 'text',
 'label' => $this->l('Meta title:'),
 'name' => 'meta_title',
 'lang' => true,
 'hint' => $this->l('Forbidden characters:').' <>;=#{}'
),
array(
 'type' => 'text',
 'label' => $this->l('Meta description:'),
 'name' => 'meta_description',
 'lang' => true,
 'hint' => $this->l('Forbidden characters:').' <>;=#{}'
),
array(
 'type' => 'tags',
 'label' => $this->l('Meta keywords:'),
 'name' => 'meta_keywords',
 'lang' => true,
 'hint' => $this->l('Forbidden characters:').' <>;=#{}',
 'desc' => $this->l('To add "tags" click in the field, write something, then press "Enter"')
),
array(
 'type' => 'text',
 'label' => $this->l('Friendly URL:'),
 'name' => 'link_rewrite',
 'lang' => true,
 'required' => true,
 'hint' => $this->l('Only letters and the minus (-) character are allowed')
),
array(
 'type' => 'group',
 'label' => $this->l('Group access:'),
 'name' => 'groupBox',
 'values' => Group::getGroups(Context::getContext()->language->id),
 'info_introduction' => $this->l('You now have three default customer groups.'),
 'unidentified' => $unidentified_group_information,
 'guest' => $guest_group_information,
 'customer' => $default_group_information,
 'desc' => $this->l('Mark all customer groups you want to give access to this category')
)
  ),
  'submit' => array(
'title' => $this->l('Save'),
'class' => 'button'
  )
 );


 return AdminCategoriesControllerCore::renderForm();
}
}
?>

Edited by Acidy (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

Bonjour,

 

j'aimerai coder ça proprement pour la 1.5, en utilisant la surcharge. Voici mon code (fichier /override/controllers/admin/AdminCategoriesControllers.php) mais ça ne fonctionne pas, une idée?

 

En effet, ça ne fonctionne pas parce que lorsqu'on appelle la méthode renderForm de la classe parente (AdminCategoriesControllerCore), ça écrase la propriété fields_form.

 

Mais tu peux redéfinir entièrement AdminCategoriesController en héritant directement de AdminController (class AdminCategoriesController extends AdminController) juste pour pouvoir insérer la ligne

'autoload_rte' => true,

dans renderForm()

et là, évidemment, ça fonctionne.

Mais bon, au moins tu ne touches pas aux fichiers du coeur.

Link to comment
Share on other sites

  • 1 year later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...