Jump to content

Подставновка meta_title вместо name для производителей


Recommended Posts

Ребят, подскажите пожалуйста, есть в БД таблица производителей ps_manufacturer. В ней присутствует поле name, которое выводится в блоке главной страницы.

 

Нужно сделать так, чтобы вместо name ps_manufacturer выводился meta_title из таблицы ps_manufacturer_lang

 

Как это реализовать?

Share this post


Link to post
Share on other sites

строка 218 manufacturer

 

$manufacturers[$i]['link_rewrite'] = Tools::link_rewrite($manufacturers[$i]['name'], false);

меняешь на

 

$manufacturers[$i]['link_rewrite'] = Tools::link_rewrite($manufacturers[$i]['meta_title'], false);

Edited by absent (see edit history)

Share this post


Link to post
Share on other sites

строка 218 manufacturer

 

$manufacturers[$i]['link_rewrite'] = Tools::link_rewrite($manufacturers[$i]['name'], false);

меняешь на

 

$manufacturers[$i]['link_rewrite'] = Tools::link_rewrite($manufacturers[$i]['meta_title'], false);

 

 

В каком именно файле?

 

Хочу, чтобы для link_rewrite использовались данные поля meta_title

Edited by kafelby (see edit history)

Share this post


Link to post
Share on other sites

В каком именно файле?

 

Хочу, чтобы для link_rewrite использовались данные поля meta_title

 

Заменил в Manufacturer.php - не помогает

Share this post


Link to post
Share on other sites

В методе Manufacturer::getManufacturers запрос

 $sql = 'SELECT m.*, ml.`description`, ml.`short_description`
  FROM `'._DB_PREFIX_.'manufacturer` m
  LEFT JOIN `'._DB_PREFIX_.'manufacturer_lang` ml ON (
   m.`id_manufacturer` = ml.`id_manufacturer`
   AND ml.`id_lang` = '.(int)$id_lang.'
  )
  '.Shop::addSqlAssociation('manufacturer', 'm');
  if ($active)
   $sql .= '
  WHERE m.`active` = 1';
  $sql .= '
  GROUP BY m.id_manufacturer
  ORDER BY m.`name` ASC'.
  ($p ? ' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n : '');

 

заменить на этот:

 

 $sql = 'SELECT m.*, ml.`description`, ml.`short_description`, ml.`meta_title`
  FROM `'._DB_PREFIX_.'manufacturer` m
  LEFT JOIN `'._DB_PREFIX_.'manufacturer_lang` ml ON (
   m.`id_manufacturer` = ml.`id_manufacturer`
   AND ml.`id_lang` = '.(int)$id_lang.'
  )
  '.Shop::addSqlAssociation('manufacturer', 'm');
  if ($active)
   $sql .= '
  WHERE m.`active` = 1';
  $sql .= '
  GROUP BY m.id_manufacturer
  ORDER BY m.`name` ASC'.
  ($p ? ' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n : '');

 

Далее в файле modules/blockmanufacturer/blockmanufacturer.tpl

 

заменить $manufacturer.name на $manufacturer.meta_title

 

p.s Метод Manufacturer::getManufacturers нужно оверрайдить, а не тупо заменять в ядре

Share this post


Link to post
Share on other sites

нето...уже решили вопрос.

стоял урл без ид.

всё совершенно не так.

менял

dispatcher

manufacturerController

и всё)

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More