ElRapazGrande Posted June 15, 2011 Share Posted June 15, 2011 Bonjour à tous,J'aimerais modifier le module CMS afin qu'il n'affiche sur la page d'accueil que les articles possédant une traduction dans la langue active. J'aimerai par exemple avoir un article du module CMS ne possédant qu'une version Anglaise, et que cet article ne s'affiche que pour la version Anglaise et n'apparaisse pas pour les autres versions (FR, espagnol ...).Avant de me lancer, je voulais savoir si quelqu'un avait déjà été confronté à ce problème, et si vous saviez s'il était facilement envisageable de modifier le module en ce sens (je connais très bien php mais je n'ai jamais codé sur prestashop).Merci de votre aide ! Link to comment Share on other sites More sharing options...
Broceliande Posted June 17, 2011 Share Posted June 17, 2011 Bonjour à tous,J'aimerais modifier le module CMS afin qu'il n'affiche sur la page d'accueil que les articles possédant une traduction dans la langue active. J'aimerai par exemple avoir un article du module CMS ne possédant qu'une version Anglaise, et que cet article ne s'affiche que pour la version Anglaise et n'apparaisse pas pour les autres versions (FR, espagnol ...).Avant de me lancer, je voulais savoir si quelqu'un avait déjà été confronté à ce problème, et si vous saviez s'il était facilement envisageable de modifier le module en ce sens (je connais très bien php mais je n'ai jamais codé sur prestashop).Merci de votre aide ! Salut,Tu trouveras sans doute ton bonheur en adaptant cette fonction , de la classe CMS (/classes/CMS.php) : public static function listCms($id_lang = NULL, $id_block = false, $active = true) { if (empty($id_lang)) $id_lang = (int)Configuration::get('PS_LANG_DEFAULT'); return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT c.id_cms, l.meta_title FROM '._DB_PREFIX_.'cms c JOIN '._DB_PREFIX_.'cms_lang l ON (c.id_cms = l.id_cms) '.(($id_block) ? 'JOIN '._DB_PREFIX_.'block_cms b ON (c.id_cms = b.id_cms)' : '').' WHERE l.id_lang = '.(int)($id_lang).(($id_block) ? ' AND b.id_block = '.(int)($id_block) : '').($active ? ' AND c.`active` = 1 ' : '').' ORDER BY c.`position`'); } au lieu du return sur la requete , tu fais un $result =...Ensuit tu testes les champs pour savoir si dans la langue active , les champs sont ou non vides.Si c'est vide , tu retournes false , sinon ben le $result Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now