Как поменять во всех JBZoo айтемах Родительскую категорию
#1
Posted 08 February 2013 - 13:11
Это нужно, чтобы во всех дублях Zoo проставился rel="canonical" именно одной категории, а не вразброс.
#2
Posted 09 February 2013 - 07:23
Выполните следующий код.
<?php
$zoo = Zoo::getInstance('zoo');
$items = $zoo->table->item->findAll('<ID каталога>');
foreach($items as $item) {
$item->params->set('config.primary_category', <ID новой родительской категории>);
$zoo->table->item->save($item);
}
PS Cделайте бекап сайта. Работу кода не проверял.
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#3
Posted 09 February 2013 - 19:17
#4
Posted 09 February 2013 - 23:11
Через SQL сделать не получится.
Выполните следующий код.
<?php $zoo = Zoo::getInstance('zoo'); $items = $zoo->table->item->findAll('<ID каталога>'); foreach($items as $item) { $item->params->set('config.primary_category', <ID новой родительской категории>); $zoo->table->item->save($item); }PS Cделайте бекап сайта. Работу кода не проверял.
Скрипт выдает ошибку "Fatal error: Class 'Zoo' not found in /.../test1.php on line 2", т.е. не проходит строка "$zoo = Zoo::getInstance('zoo');".
Помогите, пожалуйста, разобраться.
#5
Posted 10 February 2013 - 01:29
require_once('<полный адрес>/config.php');
$zoo = App::getInstance('zoo');
и запуске под cron'ом или ssh выдается ошибка "Restricted access" к config.php.
#6
Posted 10 February 2013 - 04:02
Потом вы используете Zoo, не подключив Joomla, и нарушаете порядок включения файлов
Запустите код в одном из шаблонов JBZoo, например.
Если вам нужно, чтобы это происходило по крону, то лучше написать свой простейший компонент, который будет подключать Zoo.
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#7
Posted 10 February 2013 - 19:54
Сначала вы используете один из классов Zoo, не подключив Zoo
![]()
Потом вы используете Zoo, не подключив Joomla, и нарушаете порядок включения файлов![]()
Запустите код в одном из шаблонов JBZoo, например.
Если вам нужно, чтобы это происходило по крону, то лучше написать свой простейший компонент, который будет подключать Zoo.
Денис, подскажите, пожалуйста, в какой файл добавить.
Добавил в файл mysubmissions.php, и при открытии ошибка Fatal error: Class 'Zoo' not found.
#8
Posted 10 February 2013 - 21:46
Исправил пример кода
$zoo = App::getInstance('zoo');
$items = $zoo->table->item->findAll('<ID каталога>');
foreach($items as $item) {
$item->params->set('config.primary_category', <ID новой родительской категории>);
$zoo->table->item->save($item);
}
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#9
Posted 14 February 2013 - 19:03


This topic is locked








