Наследование свойств категории

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #1 trainracing » 12.04.2017, 11:36

Все категории берут свойства у родительской

1. Меняем API, немного правим класс по работе с категориями Categories.php. Находим там функцию add_category и добавляем ей дополнительный входной параметр, меняем:

Код: Выделить всё

public function add_category($category)

на

Код: Выделить всё

public function add_category($category, $copy_features = false)


и добавляем после

Код: Выделить всё

$this->db->query("UPDATE __categories SET position=id WHERE id=?", $id);


следующее

Код: Выделить всё

//наледование свойств
   if ($copy_features && $category->parent_id > 0) {
   $query = $this->db->placehold("INSERT INTO __categories_features SELECT ?, f.feature_id FROM __categories_features f WHERE f.category_id = ?", $id, $category->parent_id);
   $this->db->query($query);         
}


2. Далее лезем в CategoryAdmin.php и добавляем после

Код: Выделить всё

$category->description = $this->request->post('description');


добавим

Код: Выделить всё

$copy_features = $this->request->post('copy_features', 'boolean');


потом чуть ниже находим

Код: Выделить всё

$category->id = $this->categories->add_category($category);


и меняем на это

Код: Выделить всё

$category->id = $this->categories->add_category($category, $copy_features);


Открываем шаблон category.tpl и в нужное место добавляем

Код: Выделить всё

<input type="checkbox" name="copy_features" id="copy_features" checked value="1"> <label for="copy_features">Скопировать свойства корневой директории</label>


Добавлено спустя 5 минут 6 секунд:
Только как сделать при обновлении категории... хз..

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #2 trainracing » 15.06.2017, 15:59

Как можно запустить эту доработку на 2.0.2? нифига не получается, помогите плз админы

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #3 korshunov » 16.06.2017, 07:14

У меня работает как есть на 2.0.2.


Название раздела: Полезные решения для OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Полезные решения для OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 9 гостей