Путь /app/controllers/frontend/pages.post.php (CS-Cart Ultimate)
fn_print_r(‘test’); не показывает (но в categories.post.php и products.post.php тест работает)
Путь /var/www/html/app/addons/my_changes/ у меня там 2 файла addon.xml addon.xml.full
модуль Мои изменения включен
?debug ошибок не показывает.
Создал в ручную с правами 777 /app/addons/my_changes/controllers/frontend/ не работает тест не показывает.
Единственное что meta description берет из подробного описания
товара.
Путь /app/addons/my_changes/controllers/frontend/products.post.php тест показывает
поместите код в products.post.php
вы же дескрипшн для страниц товаров делаете?
Скрестить не удалось. Вопрос почему в моем случае pages.post.php не работает.
Вы в контроллере для страниц (блога, форм и тп) пытаетесь получить массив с данными товара. Поэтому и не работает
Я пытаюсь сделать по инструкции сверху. У Alex7 все работает. Подскажите, пожалуйста, куда это прописать. Сейчас pages.post.php находиться /app/addons/my_changes/controllers/frontend.
Для товаров используйте коньроллер
app/addons/my_changes/controllers/frontend/products.post.php
Спасибо вам и Alex7 за наводки.
Вопрос решен.
Подскажите, кто знает.
В титл выводиться цена вида 123.000 000 шестью нулями, что не красиво.
Код в app/addons/my_changes/controllers/products.post.php
’’’<?php
use Tygh\Registry;
if (!defined(‘BOOTSTRAP’)) { die(‘Access denied’); }
if ($mode == ‘view’ && !empty($_REQUEST[‘product_id’])) {
$product = Registry::get(‘view’)->getTemplateVars(‘product’);
Registry::get(‘view’)->assign(‘meta_description’, $product[‘product’] . " в интернет-магазине. Доставляем по всей России! " );
//other data can be added to title dynamic also
if(empty($product[‘page_title’])){
Registry::get(‘view’)->assign(‘page_title’, $product[‘product’] ." купить в интернет-магазине - " . $product[‘price’] . " руб.");
}
}’’’
В распечатке $product|fn_print_r
Есть секция
[seo_snippet]
И в ней [price] имеет нормальный вид 123
Как подцепить price из этой секции.
Попробуйте
вместо
$product['price']
такой код
fn_format_price($product['price'])
Работает. Большое спасибо.
Здравствуйте! Подскажите, пожалуйста, как сделать все то же самое, что описано выше, но для страниц категорий?
UPD: только вместо цены товара вывести бы минимальную цену из данной категории. Возможно так?
без минимальной цены
Уже разобрался. Через пост контроллер удобнее получается. Теперь понять бы как проверять заполнено ли поле meta description для товара или категории. А то ядро автоматом заполняет переменные $product[‘meta_description’] и $category_data[‘meta_description’]
Ядро автоматом не заполняет. Либо у вас модуль какой-то стоит, либо значение подтягивается из соответсвующих настроек страницы макеты
Можете тогда уточнить что делает функция с названием “fn_generate_meta_description” из файла app/functions/fn.common.php ? или это файл какого-то модуля?
а еще вопрос по куску кода из файла app/functions/fn.categories.php:
// Generate meta description automatically
if (empty($category_data[‘meta_description’]) && defined(‘AUTO_META_DESCRIPTION’) && AREA != ‘A’) {
$category_data[‘meta_description’] = !empty($category_data[‘description’]) ? fn_generate_meta_description($category_data[‘description’]) : ‘’;
}
Что он делает?
Возможно я неправильно выразился и не ядро заполняет автоматом, но факт в том что если оставить поле meta description пустым в админ панели, на витрине оно пустым не будет, и как в шаблоне проверить заполнено ли это поле - я все еще не догадался.
Действительно, если в config.php определена константа AUTO_META_DESCRIPTION, то на карточке будет сгенерировано мета описание из полного описания товара и на категории - из описания категории
Все равно генерируется, даже после того как я закомментировал эту строчку в config.php :-/
Точно закомментировали? Не поменяли значение на false?
Сначала менял, потом закомментил, кеш сбрасывал - без изменений.
Нужно на месте смотреть, может модуль какой. При комментировании не должно работать