surf4you Posted August 4, 2018 Share Posted August 4, 2018 Bonjour à tous, J'ai acheté récemment deux plugins le premier était PowerFul Form Generator, super plugins au passageEn suite, je me suis lancé dans l'achat de VisualComposeur que j'utilise énormément sous Wordpress, j'ai voulu tester sous prestashop 1,7,2Mais ma surprise à été l'ors de l'activation de celui-ci J'ai cette erreur L'action enable est impossible pour le module jscomposer. Impossible d'installer la surcharge : la méthode initContent dans la classe CmsController est déjà surchargée.J'ai demandé de l'aide au développer du plugins qui ne veux rien savoir pour lui sont plugins fonctionne très bienil me suffit de désactiver PowerFul Form Generator et ça fonction effectivement c'est la bonne solution, il est marrant le monsieur Étant donné que je ne suis pas un dévelopeur, je n'ai vraiment aucune idée de comment faire pour fusionner les deux sur un seul fichier CmsController.php et pour que ça fonctionne Aurait-il une âme charitable pour me venir en aide Dans l'attente d'une réponse je vous remercie d'avanceCordialement Cyril powerfulformgenerator_CmsController.php Visual_CmsController.php Link to comment Share on other sites More sharing options...
Eolia Posted August 5, 2018 Share Posted August 5, 2018 Bah dans votre cas ce n'est vraiment pas compliqué^^ Mettez ce fichier dans le répertoire /overrides/controllers/front de votre boutique à la place de l'existant et c'est ok <?php /** * Powerful Form Generator * * This modules aims to provide for your customer any kind of form you want. * * If you find errors, bugs or if you want to share some improvments, * feel free to contact at [email protected] ! :) * Si vous trouvez des erreurs, des bugs ou si vous souhaitez * tout simplement partager un conseil ou une amélioration, * n'hésitez pas à me contacter à [email protected] * * @package modules * @author Cyril Nicodème <[email protected]> * @copyright Copyright (C) April 2014 prestaddons.net <@email:[email protected]>. All rights reserved. * @since 2014-04-15 * @version 2.7.2 * @license Nicodème Cyril */ require_once(_PS_MODULE_DIR_.'powerfulformgenerator/classes/PFGRenderer.php'); class CmsController extends CmsControllerCore { /* * module: powerfulformgenerator * date: 2018-08-04 21:37:01 * version: 2.7.2 */ public function initContent() { if (Module::isInstalled('jscomposer') && (bool) Module::isEnabled('jscomposer')) { if(isset($this->cms->content)){ $instance = Module::getInstanceByName('jscomposer'); $instance->init(); $this->cms->content = $instance->do_shortcode( $this->cms->content ); if(vc_mode() === 'page_editable'){ $this->cms->content = call_user_func($instance->getInnerActions('vc_content'), $this->cms->content); } } } parent::initContent(); $parent_cat = new CMSCategory(1, $this->context->language->id); $this->context->smarty->assign('id_current_lang', $this->context->language->id); $this->context->smarty->assign('home_title', $parent_cat->name); $this->context->smarty->assign('cgv_id', Configuration::get('PS_CONDITIONS_CMS_ID')); if ($this->assignCase == 1) { if ($this->cms->indexation == 0) { $this->context->smarty->assign('nobots', true); } if (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.7', '>=')) { $currentCms = $this->objectPresenter->present($this->cms); $currentCms['content'] = $this->returnContent($currentCms['content']); $this->context->smarty->assign(array( 'cms' => $currentCms, )); $this->setTemplate( 'cms/page', array('entity' => 'cms', 'id' => $this->cms->id) ); } else { if (isset($this->cms->id_cms_category) && $this->cms->id_cms_category) { $path = Tools::getFullPath($this->cms->id_cms_category, $this->cms->meta_title, 'CMS'); } elseif (isset($this->cms_category->meta_title)) { $path = Tools::getFullPath(1, $this->cms_category->meta_title, 'CMS'); } $this->cms->content = $this->returnContent($this->cms->content); $this->context->smarty->assign(array( 'cms' => $this->cms, 'content_only' => (int)Tools::getValue('content_only'), 'path' => $path, 'body_classes' => array($this->php_self.'-'.$this->cms->id, $this->php_self.'-'.$this->cms->link_rewrite) )); $this->setTemplate(_PS_THEME_DIR_.'cms.tpl'); } } elseif ($this->assignCase == 2) { if (version_compare(Tools::substr(_PS_VERSION_, 0, 3), '1.7', '>=')) { $this->context->smarty->assign($this->getTemplateVarCategoryCms()); $this->setTemplate('cms/category'); } else { $this->context->smarty->assign(array( 'category' => $this->cms_category, //for backward compatibility 'cms_category' => $this->cms_category, 'sub_category' => $this->cms_category->getSubCategories($this->context->language->id), 'cms_pages' => CMS::getCMSPages($this->context->language->id, (int)$this->cms_category->id, true, (int)$this->context->shop->id), 'path' => ($this->cms_category->id !== 1) ? Tools::getPath($this->cms_category->id, $this->cms_category->name, false, 'CMS') : '', 'body_classes' => array($this->php_self.'-'.$this->cms_category->id, $this->php_self.'-'.$this->cms_category->link_rewrite) )); $this->setTemplate(_PS_THEME_DIR_.'cms.tpl'); } } } /* * module: powerfulformgenerator * date: 2018-08-04 21:37:01 * version: 2.7.2 */ private function generatePFG($id_pfg) { $renderer = new PFGRenderer($id_pfg); if (!$renderer->isAllowed(true)) { $redirect_url = $renderer->getForm()->unauth_redirect_url[Context::getContext()->language->id]; if (!empty($redirect_url)) { Tools::redirect($redirect_url); } else { Controller::getController('PageNotFoundController')->run(); } exit(); } return $renderer->displayForm(); } /* * module: powerfulformgenerator * date: 2018-08-04 21:37:01 * version: 2.7.2 */ public function returnContent($contents) { preg_match_all('/\{powerfulform\:[(0-9\,)]+\}/i', $contents, $matches); foreach ($matches[0] as $index => $match) { $explode = explode(":", $match); $contents = str_replace($match, $this->generatePFG(str_replace("}", "", $explode[1])), $contents); } return $contents; } } Link to comment Share on other sites More sharing options...
surf4you Posted August 5, 2018 Author Share Posted August 5, 2018 Super merci beaucoup pour votre aide ça fonctionne parfaitement J'ai eu un peut de mal à l'activer, j'ai du mi reprendre à plusieurs fois, jusqu'à ce que les deux étaient activées. Mais les shortcodes de visual ne fonctionnait pas, en vérifiant le fichier CmsController.php celui-ci avait été réécrit en recopiant votre code ça fonctionne en tout cas je vous remercie infiniment pour votre aide très précieuse Cordialement Cyril 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