Jump to content

Override Tools.php + rewriting


Recommended Posts

Bonjour,

 

j'ai un soucis en essayant de faire un override de Tools.php ...

 

même en gardant le même contenu que classes/Tools.php (cf ci dessous) et en l'enregistrant dans override/classes/Tools.php j'ai un problème d'accès à mon site

 

>> le rewriting ne se fait plus

 

impossible d'accéder à www.monsite.fr ->>> page blanche

mais www.monsite.fr/fr/ fonctionne ...

 

une idée ? je suis en 1.4.8.3

 

merci de votre aide, je rame ....

 

<?php /**
* Get meta tages for a given page
*
* @param integer $id_lang Language id
* @return array Meta tags
*/

   class Tools extends ToolsCore
{

/**
* Get meta tages for a given page
*
* @param integer $id_lang Language id
* @return array Meta tags
*/
public static function getMetaTags($id_lang, $page_name, $title = '')
{
 global $maintenance;
 if (!(isset($maintenance) AND (!in_array(self::getRemoteAddr(), explode(',', Configuration::get('PS_MAINTENANCE_IP'))))))
 {
   /* Products specifics meta tags */
  if ($id_product = self::getValue('id_product'))
  {
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description_short`
   FROM `'._DB_PREFIX_.'product` p
   LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (pl.`id_product` = p.`id_product`)
   WHERE pl.id_lang = '.(int)($id_lang).' AND pl.id_product = '.(int)($id_product).' AND p.active = 1');
   if ($row)
   {
 if (empty($row['meta_description']))
  $row['meta_description'] = strip_tags($row['description_short']);
 return self::completeMetaTags($row, $row['name']);
   }
  }
  /* Categories specifics meta tags */
  elseif ($id_category = self::getValue('id_category'))
  {
   if (!empty($title))
 $title = ' - '.$title;
   $page_number = (int)self::getValue('p');
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`, `description`
   FROM `'._DB_PREFIX_.'category_lang`
   WHERE id_lang = '.(int)($id_lang).' AND id_category = '.(int)($id_category));
   if ($row)
   {
 if (empty($row['meta_description']))
  $row['meta_description'] = strip_tags($row['description']);
 // Paginate title
 if (!empty($row['meta_title']))
  $row['meta_title'] = $title.$row['meta_title'].(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME');
 else
  $row['meta_title'] = $row['name'].(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME');

 if (!empty($title))
  $row['meta_title'] = $title.(!empty($page_number) ? ' ('.$page_number.')' : '').' - '.Configuration::get('PS_SHOP_NAME');

 return self::completeMetaTags($row, $row['name']);
   }
  }
  /* Manufacturers specifics meta tags */
  elseif ($id_manufacturer = self::getValue('id_manufacturer'))
  {
   $page_number = (int)self::getValue('p');
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`
   FROM `'._DB_PREFIX_.'manufacturer_lang` ml
   LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (ml.`id_manufacturer` = m.`id_manufacturer`)
   WHERE ml.id_lang = '.(int)($id_lang).' AND ml.id_manufacturer = '.(int)($id_manufacturer));
   if ($row)
   {
 if (empty($row['meta_description']))
  $row['meta_description'] = strip_tags($row['meta_description']);
 $row['meta_title'] .= $row['name'] . (!empty($page_number) ? ' ('.$page_number.')' : '');
 $row['meta_title'] .= ' - '.Configuration::get('PS_SHOP_NAME');
 return self::completeMetaTags($row, $row['meta_title']);
   }
  }
  /* Suppliers specifics meta tags */
  elseif ($id_supplier = self::getValue('id_supplier'))
  {
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `name`, `meta_title`, `meta_description`, `meta_keywords`
   FROM `'._DB_PREFIX_.'supplier_lang` sl
   LEFT JOIN `'._DB_PREFIX_.'supplier` s ON (sl.`id_supplier` = s.`id_supplier`)
   WHERE sl.id_lang = '.(int)($id_lang).' AND sl.id_supplier = '.(int)($id_supplier));
   if ($row)
   {
 if (empty($row['meta_description']))
  $row['meta_description'] = strip_tags($row['meta_description']);
 if (!empty($row['meta_title']))
  $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME');
 return self::completeMetaTags($row, $row['name']);
   }
  }
  /* CMS specifics meta tags */
  elseif ($id_cms = self::getValue('id_cms'))
  {
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `meta_title`, `meta_description`, `meta_keywords`
   FROM `'._DB_PREFIX_.'cms_lang`
   WHERE id_lang = '.(int)($id_lang).' AND id_cms = '.(int)($id_cms));
   if ($row)
   {
 $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME');
 return self::completeMetaTags($row, $row['meta_title']);
   }
  }
  /* CMS category specifics meta tags */
  elseif ($id_cms = self::getValue('id_cms_category'))
  {
   $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
   SELECT `meta_title`, `meta_description`, `meta_keywords`
   FROM `'._DB_PREFIX_.'cms_category_lang`
   WHERE id_lang = '.(int)($id_lang).' AND id_cms_category = '.(int)($id_cms));
   if ($row)
   {
 $row['meta_title'] = $row['meta_title'].' - '.Configuration::get('PS_SHOP_NAME');
 return self::completeMetaTags($row, $row['meta_title']);
   }
  }
 }
 /* Default meta tags */
 return self::getHomeMetaTags($id_lang, $page_name);
}
/**
* Get meta tags for a given page
*
* @param integer $id_lang Language id
* @return array Meta tags
*/
public static function getHomeMetaTags($id_lang, $page_name)
{
 /* Metas-tags */
 $metas = Meta::getMetaByPage($page_name, $id_lang);
 $ret['meta_title'] = (isset($metas['title']) AND $metas['title']) ? $metas['title'].' - '.Configuration::get('PS_SHOP_NAME') : Configuration::get('PS_SHOP_NAME');
 $ret['meta_description'] = (isset($metas['description']) AND $metas['description']) ? $metas['description'] : '';
 $ret['meta_keywords'] = (isset($metas['keywords']) AND $metas['keywords']) ? $metas['keywords'] :  '';
 return $ret;
}

public static function completeMetaTags($metaTags, $defaultValue)
{
 global $cookie;
 if (empty($metaTags['meta_title']))
  $metaTags['meta_title'] = $defaultValue.' - '.Configuration::get('PS_SHOP_NAME');
 if (empty($metaTags['meta_description']))
  $metaTags['meta_description'] = Configuration::get('PS_META_DESCRIPTION', (int)($cookie->id_lang)) ? Configuration::get('PS_META_DESCRIPTION', (int)($cookie->id_lang)) : '';
 if (empty($metaTags['meta_keywords']))
  $metaTags['meta_keywords'] = Configuration::get('PS_META_KEYWORDS', (int)($cookie->id_lang)) ? Configuration::get('PS_META_KEYWORDS', (int)($cookie->id_lang)) : '';
 return $metaTags;
}
}
?>

Link to comment
Share on other sites

Merci, j'ai donc ces WARNINGS qui m'ont permis de voir l'erreur ultra basique à l'origine du soucis !!

headers already sent : il y avait un espace vide après les ?> à la fin du fichier Tools.php ...

 

 

Warning: Cannot modify header information - headers already sent by (output started at /home/....../public_html/boutique/override/classes/Tools.php:172) in /home/....../public_html/boutique/classes/FrontController.php on line 366

 

Warning: Cannot modify header information - headers already sent by (output started at /home/....../public_html/boutique/override/classes/Tools.php:172) in /home/....../public_html/boutique/classes/FrontController.php on line 367

 

Warning: Cannot modify header information - headers already sent by (output started at /home/....../public_html/boutique/override/classes/Tools.php:172) in /home/....../public_html/boutique/classes/Tools.php on line 96

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...