Произвольные поля при добавления объекта на страницу


Реклама



Новости IT технологий
Наши ссылки

Документация
Управление сайтом
Создание качественного сайта
Видеоуроки
Раздел для разработчиков
*Уведомление модератора о новом вопросе в FAQ
*Текст за HTML
*Отключение вывода отладочной информации на странице
*После обновления UMI не работают некоторые кастомные макросы
Произвольные поля при добавления объекта на страницу
Настройка работы с изображениями для администраторов сайта
Накладывание водяного знака при размещении изображений
Ссылки на предыдущую (следующую) позицию каталога
Вставка смайликов и цитирование текста на форуме
Разбиение по страницам
Автообрамление тегами "p" в админке
Миниатюры изображений не отображаются на сайте
Доступ к данных отправляемым через форму
Подключение галереи jQuery ColorBox
Перенос сайта на UMI-CMS с хостинга на localhost
Страница не найдена
Сохранение данных в форме при перегрузке страницы
Вывод поля по его имени в TPL
При импорте каталога позиции не обновляются а создаются заново
Работа с каталогом в версии php 7 и выше
Тире вместо нижнего подчеркивания в url
Работа с набором изображений в xslt
Админ режим в Шаблонах данных
SSL сертификат - продление
SSL настройка HTACCESS
AmoCRM

Произвольные поля при добавления объекта на страницу

На странице каталога в режиме “edit-in-place” есть кнопка "Добавить", которая добавляет объект каталога. В параметрах создания объекта есть только название объекта и его цена. Как ввести в эту форму для создания объекта дополнительные параметры, такие как описание, цвет, тип данных, используемый шаблон, поле H1 и т.д.

Оказалось, что это довольна нетривиальная задача. Ниже приведен путь ее решения:

Надо использовать файлы, находящиеся в архиве “addobject.rar”. “formadd.tpl” - надо положить в папку “tpls/data/reflection/” и настроить верстку. Два других файла (“permissions.custom.php” и “__custom.php”) в папку “classes/modules/data/”.

В шаблоне “tpls/catalog/default.tpl”, в блоке “objects_block”, необходимо поставить макрос:

%data formadd(%id%, 'formadd')%” - он в итоге отобразит форму для добавления товара.

В файле “__custom.php”, в методе “formadd()”, необходимо изменить строку:

$arr_users = array('14', '27675')” - т.е. добавить в массив все id пользователей, которые будут добавлять объекты каталога с клиентской части сайта.

$tpl_id = 34;”//34-номер шаблона, с которым должны добавляться страницы.

if(!$object_type_id = umiHierarchy::getInstance()->getDominantTypeId($id)) $object_type_id = 838;” //838-id шаблона данных

“if(!$object_type_id = umiHierarchy::getInstance()->getDominantTypeId($id)) return "838";” //838-id шаблона данных

Необходимо так же шаблоне, который отвечает за вывод страницы каталога (имя_catalog_view.tpl), создать блок который отрабатывается когда в разделе нет еще объектов:

$FORMS['objects_block_empty'] = <<<END

%data formadd(%id%, 'formadd')%

END;