Хочу в категорию добавить еще одно дополнительное изображение. Что я уже сделал:
-
Доработал шаблон админки добавив хук с таким кодом:
{include
file=“common/attach_images.tpl”
image_name=“category_scheme_image”
image_object_type=“category”
image_pair=$category_data.category_scheme_image
image_object_id=$id
image_type=“A”
}
В итоге появилось поле добавления изображения на странице dispatch=categories.update
.
Подозреваю что на этом этапе я ошибся в параметрах загрузки common/attach_images.tpl
.
Как мануал использую вот эту статью Как добавить картинку к объекту — Документация docs.cs-cart.ru 4.11.x, но в голове что-то не сходится.
К примеру:
image_object_type — тип объекта, в котором будут храниться картинки в данном случае в таблице cscart_common_images_links, cscart_common_images, cscart_detailed_images
но таблиц cscart_common_images_links, cscart_common_images, cscart_detailed_images
в моей базе нет. Поэтому я не совсем уверен что верно заполнил этот параметр image_object_type
.
-
Написал хук к контролеру:
<?php
use Tygh\Registry;
if (!defined(‘BOOTSTRAP’)) { die(‘Access denied’); }
$_REQUEST[‘category_id’] = empty($_REQUEST[‘category_id’]) ? 0 : $_REQUEST[‘category_id’];
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) {
if ($mode == 'update') {
$category_id = fn_update_category($_REQUEST['category_data'], $_REQUEST['category_id'], DESCR_SL);
if (!empty($category_id)) {
fn_attach_image_pairs('category_scheme_image', 'category', $category_id, DESCR_SL);
}
}
}
Также не уверен в параметрах. За пример взял /app/controllers/backend/categories.php
. Там fn_attach_image_pairs()
использует 4 параметра, последний из которых языковая переменная?
Но в Как добавить картинку к объекту — Документация docs.cs-cart.ru 4.11.x такое разъяснение последнего параметра:
mod — имя таблицы, содержащей данный объект (другими словами, это параметр object_table в таблице common_images_links; если таблица со ссылками используется своя, то параметр задавать не нужно — например, для товаров).
Если под таблице common_images_links имеется ввиду cscart_images_links
, то в ней нет object_table
. Есть pair_id object_id object_type image_id detailed_id type position
.
В итоге что у меня получилось. Получилось внести запись в cscart_images_links
. То есть, как я понял, создалась пара id-категории + id-картинки.
Но, в шаблоне массив $category_data не имеет элемента $category_data .category_scheme_image. И вывести картинку я не могу. Я не записал информацию в массив? Где это сделать?
-
Наверное я должен писать:
$category_data[‘category_scheme_image’] = fn_get_image_pairs($category_id, ‘category’, ‘A’);
Но только куда и правильно ли?