Создаём в базе таблицу jos_vmx_product_keyword для храненения ключевых слов, которые надо подсвечивать в названии товара.
CREATE TABLE `jos_vmx_product_keyword` ( `keyword_id` int(11) NOT NULL AUTO_INCREMENT, `keyword_value` varchar(64) NOT NULL, PRIMARY KEY (`keyword_id`), UNIQUE KEY `keyword_value` (`keyword_value`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ; INSERT INTO `jos_vmx_product_keyword` (`keyword_value`) VALUES ('кошка'), ('собака');
Правим основной файл листинга товаров administrator/components/com_virtuemart/html/shop.browse.php, и добавляем следующий код:
//******** Prepare the regular expression patterns for use in browser pages ******* $my_db = &JFactory::getDBO(); $my_db->setQuery("SELECT CONCAT('/(', keyword_value, ')/') FROM jos_vmx_product_keyword"); $product_keywords = $my_db->loadResultArray(); //*************************
затем добавляем $product_keywords в параметры для листинга
$products[$i]['product_keywords'] = $product_keywords;
ну и в шаблоне листинга components/com_virtuemart/themes/имя-шаблона/templates/browse/browse_3.php теперь можно использовать регулярное выражение:
<a href="<?php echo $product_flypage ?>" class="browse-product-title"><?php echo preg_replace($product_keywords, '<span style="font-size:80%">$1</span>', $product_name); ?></a>
Вроде, сделал по инструкции, но никак не работает…
Может быть есть чуть более развёрнутый варианть?
Комментарий by Liova01 — 22 ноября 2011 @ 20:23
Должно работать, так как взято с рабочего сайта. Проверяйте код 🙂
Комментарий by admin — 22 ноября 2011 @ 21:05