00000000000000 Posted November 6, 2015 Share Posted November 6, 2015 (edited) Bonjour, En plein travail de référencement de mon site (www.pausebento.fr), j'ai analysé les balises Hn de ma page d'accueil et j'aimerais supprimer la plupart pour ne laisser que les balises intéressantes (H1 'titre' et H2 'sous-titre' avec en H3 les produits mis en avant). J'ai réussi à supprimer des balises mais je bute sur les balises H3 générées par le bloc cms info. Dans le fichier tpl du module, je ne retrouve pas les balises H3. Il y a un fichier .php où il y a les balises H3 mais en les supprimant, les titres restent affichés en H3. Les lignes du fichier où apparaissent les balises H3 sont à la toute fin. <?php /* * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) exit; require_once _PS_MODULE_DIR_.'blockcmsinfo/classes/InfoBlock.php'; class Blockcmsinfo extends Module { public $html = ''; public function __construct() { $this->name = 'blockcmsinfo'; $this->tab = 'front_office_features'; $this->version = '1.6.0'; $this->author = 'PrestaShop'; $this->bootstrap = true; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Custom CMS information block'); $this->description = $this->l('Adds custom information blocks in your store.'); $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); } public function install() { return parent::install() && $this->installDB() && $this->registerHook('home') && $this->installFixtures() && $this->disableDevice(Context::DEVICE_TABLET | Context::DEVICE_MOBILE); } public function installDB() { $return = true; $return &= Db::getInstance()->execute(' CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'info` ( `id_info` INT UNSIGNED NOT NULL AUTO_INCREMENT, `id_shop` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id_info`) ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 ;' ); $return &= Db::getInstance()->execute(' CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'info_lang` ( `id_info` INT UNSIGNED NOT NULL, `id_lang` int(10) unsigned NOT NULL , `text` text NOT NULL, PRIMARY KEY (`id_info`, `id_lang`) ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 ;' ); return $return; } public function uninstall() { return parent::uninstall() && $this->uninstallDB(); } public function uninstallDB($drop_table = true) { $ret = true; if($drop_table) $ret &= Db::getInstance()->execute('DROP TABLE IF EXISTS `'._DB_PREFIX_.'info`') && Db::getInstance()->execute('DROP TABLE IF EXISTS `'._DB_PREFIX_.'info_lang`'); return $ret; } public function getContent() { $id_info = (int)Tools::getValue('id_info'); if (Tools::isSubmit('saveblockcmsinfo')) { if (!Tools::getValue('text_'.(int)Configuration::get('PS_LANG_DEFAULT'), false)) return $this->html . $this->displayError($this->l('You must fill in all fields.')) . $this->renderForm(); elseif ($this->processSaveCmsInfo()) return $this->html . $this->renderList(); else return $this->html . $this->renderForm(); } elseif (Tools::isSubmit('updateblockcmsinfo') || Tools::isSubmit('addblockcmsinfo')) { $this->html .= $this->renderForm(); return $this->html; } else if (Tools::isSubmit('deleteblockcmsinfo')) { $info = new InfoBlock((int)$id_info); $info->delete(); $this->_clearCache('blockcmsinfo.tpl'); Tools::redirectAdmin(AdminController::$currentIndex.'&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules')); } else { $this->html .= $this->renderList(); return $this->html; } } public function processSaveCmsInfo() { if ($id_info = Tools::getValue('id_info')) $info = new InfoBlock((int)$id_info); else { $info = new InfoBlock(); if (Shop::isFeatureActive()) { $shop_ids = Tools::getValue('checkBoxShopAsso_configuration'); if (!$shop_ids) { $this->html .= '<div class="alert alert-danger conf error">'.$this->l('You have to select at least one shop.').'</div>'; return false; } } else $info->id_shop = Shop::getContextShopID(); } $languages = Language::getLanguages(false); $text = array(); foreach ($languages AS $lang) $text[$lang['id_lang']] = Tools::getValue('text_'.$lang['id_lang']); $info->text = $text; if (Shop::isFeatureActive() && !$info->id_shop) { $saved = true; foreach ($shop_ids as $id_shop) { $info->id_shop = $id_shop; $saved &= $info->add(); } } else $saved = $info->save(); if ($saved) $this->_clearCache('blockcmsinfo.tpl'); else $this->html .= '<div class="alert alert-danger conf error">'.$this->l('An error occurred while attempting to save.').'</div>'; return $saved; } protected function renderForm() { $default_lang = (int)Configuration::get('PS_LANG_DEFAULT'); $fields_form = array( 'tinymce' => true, 'legend' => array( 'title' => $this->l('New custom CMS block'), ), 'input' => array( 'id_info' => array( 'type' => 'hidden', 'name' => 'id_info' ), 'content' => array( 'type' => 'textarea', 'label' => $this->l('Text'), 'lang' => true, 'name' => 'text', 'cols' => 40, 'rows' => 10, 'class' => 'rte', 'autoload_rte' => true, ), ), 'submit' => array( 'title' => $this->l('Save'), ), 'buttons' => array( array( 'href' => AdminController::$currentIndex.'&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'), 'title' => $this->l('Back to list'), 'icon' => 'process-icon-back' ) ) ); if (Shop::isFeatureActive() && Tools::getValue('id_info') == false) { $fields_form['input'][] = array( 'type' => 'shop', 'label' => $this->l('Shop association'), 'name' => 'checkBoxShopAsso_theme' ); } $helper = new HelperForm(); $helper->module = $this; $helper->name_controller = 'blockcmsinfo'; $helper->identifier = $this->identifier; $helper->token = Tools::getAdminTokenLite('AdminModules'); foreach (Language::getLanguages(false) as $lang) $helper->languages[] = array( 'id_lang' => $lang['id_lang'], 'iso_code' => $lang['iso_code'], 'name' => $lang['name'], 'is_default' => ($default_lang == $lang['id_lang'] ? 1 : 0) ); $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; $helper->default_form_language = $default_lang; $helper->allow_employee_form_lang = $default_lang; $helper->toolbar_scroll = true; $helper->title = $this->displayName; $helper->submit_action = 'saveblockcmsinfo'; $helper->fields_value = $this->getFormValues(); return $helper->generateForm(array(array('form' => $fields_form))); } protected function renderList() { $this->fields_list = array(); $this->fields_list['id_info'] = array( 'title' => $this->l('Block ID'), 'type' => 'text', 'search' => false, 'orderby' => false, ); if (Shop::isFeatureActive() && Shop::getContext() != Shop::CONTEXT_SHOP) $this->fields_list['shop_name'] = array( 'title' => $this->l('Shop'), 'type' => 'text', 'search' => false, 'orderby' => false, ); $this->fields_list['text'] = array( 'title' => $this->l('Block text'), 'type' => 'text', 'search' => false, 'orderby' => false, ); $helper = new HelperList(); $helper->shopLinkType = ''; $helper->simple_header = false; $helper->identifier = 'id_info'; $helper->actions = array('edit', 'delete'); $helper->show_toolbar = true; $helper->imageType = 'jpg'; $helper->toolbar_btn['new'] = array( 'href' => AdminController::$currentIndex.'&configure='.$this->name.'&add'.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'), 'desc' => $this->l('Add new') ); $helper->title = $this->displayName; $helper->table = $this->name; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name; $content = $this->getListContent($this->context->language->id); return $helper->generateList($content, $this->fields_list); } protected function getListContent($id_lang = null) { if (is_null($id_lang)) $id_lang = (int)Configuration::get('PS_LANG_DEFAULT'); $sql = 'SELECT r.`id_info`, rl.`text`, s.`name` as shop_name FROM `'._DB_PREFIX_.'info` r LEFT JOIN `'._DB_PREFIX_.'info_lang` rl ON (r.`id_info` = rl.`id_info`) LEFT JOIN `'._DB_PREFIX_.'shop` s ON (r.`id_shop` = s.`id_shop`) WHERE `id_lang` = '.(int)$id_lang.' AND ('; if ($shop_ids = Shop::getContextListShopID()) foreach ($shop_ids as $id_shop) $sql .= ' r.`id_shop` = '.(int)$id_shop.' OR '; $sql .= ' r.`id_shop` = 0 )'; $content = Db::getInstance()->executeS($sql); foreach ($content as $key => $value) $content[$key]['text'] = substr(strip_tags($value['text']), 0, 200); return $content; } public function getFormValues() { $fields_value = array(); $id_info = (int)Tools::getValue('id_info'); foreach (Language::getLanguages(false) as $lang) if ($id_info) { $info = new InfoBlock((int)$id_info); $fields_value['text'][(int)$lang['id_lang']] = $info->text[(int)$lang['id_lang']]; } else $fields_value['text'][(int)$lang['id_lang']] = Tools::getValue('text_'.(int)$lang['id_lang'], ''); $fields_value['id_info'] = $id_info; return $fields_value; } public function hookHome($params) { $this->context->controller->addCSS($this->_path.'style.css', 'all'); if (!$this->isCached('blockcmsinfo.tpl', $this->getCacheId())) { $infos = $this->getInfos($this->context->language->id, $this->context->shop->id); $this->context->smarty->assign(array('infos' => $infos, 'nbblocks' => count($infos))); } return $this->display(__FILE__, 'blockcmsinfo.tpl', $this->getCacheId()); } public function getInfos($id_lang, $id_shop) { $sql = 'SELECT r.`id_info`, r.`id_shop`, rl.`text` FROM `'._DB_PREFIX_.'info` r LEFT JOIN `'._DB_PREFIX_.'info_lang` rl ON (r.`id_info` = rl.`id_info`) WHERE `id_lang` = '.(int)$id_lang.' AND `id_shop` = '.(int)$id_shop; return Db::getInstance()->executeS($sql); } public function installFixtures() { $return = true; $tab_texts = array( array( 'text' => '<ul> <li><em class="icon-truck" id="icon-truck"></em> <div class="type-text"> <h3>Lorem Ipsum</h3> <p>Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu</p> </div> </li> <li><em class="icon-phone" id="icon-phone"></em> <div class="type-text"> <h3>Dolor Sit Amet</h3> <p>Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu</p> </div> </li> <li><em class="icon-credit-card" id="icon-credit-card"></em> <div class="type-text"> <h3>Ctetur Voluptate</h3> <p>Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu</p> </div> </li> </ul>' ), array( 'text' => '<h3>Custom Block</h3> <p><strong class="dark">Lorem ipsum dolor sit amet conse ctetu</strong></p> <p>Sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit.</p>' ), ); $shops_ids = Shop::getShops(true, null, true); $return = true; foreach ($tab_texts as $tab) { $info = new InfoBlock(); foreach (Language::getLanguages(false) as $lang) $info->text[$lang['id_lang']] = $tab['text']; foreach ($shops_ids as $id_shop) { $info->id_shop = $id_shop; $return &= $info->add(); } } return $return; } } Suis-je au bon endroit, le fichier qui gère ces foutues balises H3 ? Merci d'avance pour m'aider. Me restera plus qu'à supprimer les balises H4 du footer et transformer les H5 des produits mis en avant en H3. David Edited November 6, 2015 by Pause bentô (see edit history) Link to comment Share on other sites More sharing options...
ChDUP Posted November 6, 2015 Share Posted November 6, 2015 ces h3 doivent se trouver directement dans vos textes dans le configuration du module block cms, affichez la source de vos textes Link to comment Share on other sites More sharing options...
00000000000000 Posted November 6, 2015 Author Share Posted November 6, 2015 C'était bien ça ! Un grand merci Toujours à chercher compliqué ^^' Link to comment Share on other sites More sharing options...
00000000000000 Posted November 10, 2015 Author Share Posted November 10, 2015 (edited) Bonjour, Il reste encore quelques balises h4 sur la page d'accueil que je voudrais supprimer tout en gardant la mise en page actuelle des balises h4 ('Catégories', 'Mon compte', 'Nos coordonnées' et 'Informations' dans le footer).Pour enlever la balise h4 'Catégories', direction le fichier blockcategories_footer.tpl : <!-- Block categories module --> <section class="blockcategories_footer footer-block col-xs-12 col-sm-2"> <h4>{l s='Categories' mod='blockcategories'}</h4> <div class="category_footer toggle-footer"> Je supprime les balises <h4> et </h4>. Dans le fichier global.css (à partir de la ligne 6802) : .footer-container #footer h4 { font: 600 18px/22px "Open Sans", sans-serif; color: white; margin: 0 0 13px 0; } @media (max-width: 767px) { .footer-container #footer h4 { position: relative; margin-bottom: 0; padding-bottom: 13px; } .footer-container #footer h4:after { display: block; content: "\f055"; font-family: "FontAwesome"; position: absolute; right: 0; top: 1px; } .footer-container #footer h4.active:after { content: "\f056"; } } .footer-container #footer h4 a { color: white; } Je supprime les h4. Le problème en supprimant la balise h4, la mise en forme change. Comment faire pour garder la mise en forme actuelle (h4) sans pour autant que le titre soit une balise h4 ? Y a-t-il un moyen de transformer la balise h4 en une autre balise mais pas hn ? Merci d'avance. David Edited November 10, 2015 by Pause bentô (see edit history) Link to comment Share on other sites More sharing options...
ChDUP Posted November 10, 2015 Share Posted November 10, 2015 dans votre tpl, qu'avez-vous mis à la place des <h4> ? des <span> ? Il vous suffit dans votre css de remplacer h4 par span également Link to comment Share on other sites More sharing options...
00000000000000 Posted November 10, 2015 Author Share Posted November 10, 2015 Merci. Il suffit donc de remplacer les balises h4 dans les fichiers tpl par des balises span et dans le css, je remplace uniquement le h4 par span et les anciens h4 restent comme avant ? Link to comment Share on other sites More sharing options...
ChDUP Posted November 10, 2015 Share Posted November 10, 2015 Le but est bien de supprimer les h4 ou alors je n'ai pas compris ? vous les remplacez par des <span> et vous reprenez vos mises en forme css par le ciblage suivant .footer-container #footer span après si vous avez d'autres <span> dans le footer qui vont du coup être ciblés, il faut appliquer une class à ceux-ci et les cibler par la class Link to comment Share on other sites More sharing options...
00000000000000 Posted November 10, 2015 Author Share Posted November 10, 2015 Oui, vous avez bien compris (supprimer les balises h4 tout en gardant la mise en page). J'avais donc bien compris (novice en codage donc je préfère demandé pour être bien sûr d'avoir compris). Je vais tenter les modifications des h4 en span pour voir ce que cela donne. Je vous redis si ça fonctionne bien. Encore merci. Ca va pas mal me débloquer ensuite pour supprimer toutes les balises de me*** qui ne servent à rien dans les catégories et pages produits aussi. Link to comment Share on other sites More sharing options...
00000000000000 Posted November 10, 2015 Author Share Posted November 10, 2015 Ca marche nickel avec les <span>. Un grand merci ! Les balises n'ont qu'à bien se tenir, 'va y avoir un génocide de balises Link to comment Share on other sites More sharing options...
00000000000000 Posted November 12, 2015 Author Share Posted November 12, 2015 Plus qu'une balise h5 à supprimer dans la page d'accueil : les noms des produits mis dans l'onglet des nouveautés (module Nouveaux produits). J'ai réussi à supprimer les h5 des autres produits des différents onglets (module Produits Phares) mais ceux du module Nouveaux produits non. Dans le fichier blocknewproducts.tpl, j'ai : <!-- MODULE Block new products --> <div id="new-products_block_right" class="block products_block"> <h4 class="title_block"> <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='New products' mod='blocknewproducts'}">{l s='New products' mod='blocknewproducts'}</a> </h4> <div class="block_content products-block"> {if $new_products !== false} <ul class="products"> {foreach from=$new_products item=newproduct name=myLoop} <li class="clearfix"> <a class="products-block-image" href="{$newproduct.link|escape:'html'}" title="{$newproduct.legend|escape:html:'UTF-8'}"><img class="replace-2x img-responsive" src="{$link->getImageLink($newproduct.link_rewrite, $newproduct.id_image, 'small_default')|escape:'html'}" alt="{$newproduct.name|escape:html:'UTF-8'}" /></a> <div class="product-content"> <a class="product-name" href="{$newproduct.link|escape:'html'}" title="{$newproduct.name|escape:html:'UTF-8'}">{$newproduct.name|strip_tags|escape:html:'UTF-8'}</a> <p class="product-description">{$newproduct.description_short|strip_tags:'UTF-8'|truncate:75:'...'}</p> {if (!$PS_CATALOG_MODE AND ((isset($newproduct.show_price) && $newproduct.show_price) || (isset($newproduct.available_for_order) && $newproduct.available_for_order)))} {if isset($newproduct.show_price) && $newproduct.show_price && !isset($restricted_country_mode)} <div class="price-box"> <span class="price"> {if !$priceDisplay}{convertPrice price=$newproduct.price}{else}{convertPrice price=$newproduct.price_tax_exc}{/if} </span> </div> {/if} {/if} </div> </li> {/foreach} </ul> <div> <a href="{$link->getPageLink('new-products')|escape:'html'}" title="{l s='All new products' mod='blocknewproducts'}" class="btn btn-default button button-small"><span>{l s='All new products' mod='blocknewproducts'}<i class="icon-chevron-right right"></i></span></a> </div> {else} <p>» {l s='Do not allow new products at this time.' mod='blocknewproducts'}</p> {/if} </div> </div> <!-- /MODULE Block new products --> Je vois en h4 dans le code le titre 'Nouveaux produits' mais pas de h5. Et dans le fichier blocknewproducts_home.tpl (le fichier pour la page d'accueil si je comprends bien) : {* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2014 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} {counter name=active_ul assign=active_ul} {if isset($new_products) && $new_products} {include file="$tpl_dir./product-list.tpl" products=$new_products class='blocknewproducts tab-pane' id='blocknewproducts' active=$active_ul} {else} <ul id="blocknewproducts" class="blocknewproducts tab-pane{if isset($active_ul) && $active_ul == 1} active{/if}"> <li class="alert alert-info">{l s='No new products at this time.' mod='blocknewproducts'}</li> </ul> {/if} Pas de h5 non plus. Je dois chercher dans le mauvais fichier mais je ne vois pas où chercher (Firebug n'aide pas vraiment). Merci d'avance pour l'aide. David Link to comment Share on other sites More sharing options...
ChDUP Posted November 12, 2015 Share Posted November 12, 2015 ce module utilise probablement le product-list.tpl de votre thème Link to comment Share on other sites More sharing options...
00000000000000 Posted November 12, 2015 Author Share Posted November 12, 2015 Merci beaucoup ! C'était bien dans le fichier product-list.tpl. <div class="right-block"> <h5 itemprop="name"> {if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if} <a class="product-name" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url" > {$product.name|truncate:45:'...'|escape:'html':'UTF-8'} </a> </h5> Link to comment Share on other sites More sharing options...
00000000000000 Posted November 19, 2015 Author Share Posted November 19, 2015 (edited) Bonjour, C'est encore moi Balises de la page d'accueil : OK ; balises des pages catégories : OK ; balises des pages produits : en cours. J'ai réussi à supprimer toutes les balises hn (reste plus que la h1) sauf une balise h5 vide que je n'arrive pas à trouver. J'ai beau regarder partout : introuvable avec Firebug. D'après une ancienne analyse des balises hn, la balise h5 devrait se trouver entre 'envoyer à un ami' et la fiche technique. Introuvable quand même >< Merci d'avance pour l'aide. David Edited November 19, 2015 by Pause bentô (see edit history) Link to comment Share on other sites More sharing options...
ChDUP Posted November 19, 2015 Share Posted November 19, 2015 (edited) C'est votre module productpaymentlogos qui la place Il sert à quoi ce module ? Pourquoi ne pas mettre le logo directement dans le product.tpl ? Edited November 19, 2015 by ChDUP (see edit history) Link to comment Share on other sites More sharing options...
00000000000000 Posted November 19, 2015 Author Share Posted November 19, 2015 Merci beaucoup, j'ai trouvé le fichier en question grâve à votre aide. Ce module affiche le logo 'Visa Mastercard' en-dessous du bouton 'Ajouter à ma liste'. Un petit h5 bien caché celui-ci. Encore merci pour l'aide. David Link to comment Share on other sites More sharing options...
ChDUP Posted November 19, 2015 Share Posted November 19, 2015 oui ça j'ai bien compris. d'où ma question. Quel intérêt de charger un module pour afficher une image fixe (qui semble être la même sur toutes vos pages produits) ? Link to comment Share on other sites More sharing options...
00000000000000 Posted November 19, 2015 Author Share Posted November 19, 2015 C'est un module de base sur Prestashop. Je comprends pas moi non plus (l'équipe Prestashop avait bien une raison, je suppose). Avec ce module, on peut ajouter un lien sur l'image (vers le cms Paiement sécurisé par exemple), modifier l'image donc je pense que c'est pour faciliter ces changements que l'option module a été choisie. Après je me trompe peut-être (je ne suis qu'un novice en code et Prestashop). 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