Помогите с полями, люди добрые

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 11 июня 2016 в 11:04
Подскажите, плиз...
Всю голову сломал, все файлы перековырял...
iCMS 2.4.0, тип контента — объявления, сделал поле content_doski
В это поле автоматом добавляется текст из парсера Авито...
Вопрос: как и в каком файле прописать условие, чтобы в это поле в самом конце текста добавлялась строка Лот №(ID записи)?
Пытался добавлять php-код при заполнении поля, он не срабатывает — пишет как есть <?php echo $item['id']; ?>
#2 11 июня 2016 в 11:13
Записи создаёт пользователь или парсер сам всё делает? Хук надо писать content_нужныйтипконтента_after_add. Если парсер поддерживает данный хук, то в хуке брать содержимое этого поля и к нему дописывать нужное и сохранять в БД.
#3 11 июня 2016 в 11:19


Записи создаёт пользователь или парсер сам всё делает? Хук надо писать content_нужныйтипконтента_after_add. Если парсер поддерживает данный хук, то в хуке брать содержимое этого поля и к нему дописывать нужное и сохранять в БД.

Loadырь

Парсер сам добавляет нужный текст, я его потом редактирую вручную при необходимости...
Поддерживает парсер хук или нет — к сожалению не знаю...
Т.е. простой вставкой кода, я так понял, не обойтись…
#4 11 июня 2016 в 11:25
Можно создать еще одно текстовое поле "Лот №" и выводить его после текста.
#5 11 июня 2016 в 11:25
А куда вы его хотите вставить?
#6 11 июня 2016 в 11:27

Можно создать еще одно текстовое поле "Лот №" и выводить его после текста.

HiAndy
можно, но для этого надо знать номер id записи, что затруднительно перед созданием записи.
#7 11 июня 2016 в 11:33

можно, но для этого надо знать номер id записи, что затруднительно перед созданием записи.

Loadырь
Тупо приписывать id.
У меня так сделано на тестовом сайте — работает.
#8 11 июня 2016 в 11:40


Можно создать еще одно текстовое поле "Лот №" и выводить его после текста.

HiAndy
можно, но для этого надо знать номер id записи, что затруднительно перед созданием записи.

Loadырь
Точно...
Вставить то, что еще неизвестно — проблематично...
Точнее не реально...

Успешно пользуюсь отлично работающим компонентом от Loadырь "Экспорт в файл"...
ID записи необходимо вставить в xml-файл для выгрузки на другие сайты...
Если в шаблон xml-файла вставлять два поля — не срабатывает, т.е. {content} Лот №{id}. — не работает...

Если создать текстовое поле "Лот №" — та же проблема — при заполнении еще неизвестен ID записи…
#9 11 июня 2016 в 11:55

Если создать текстовое поле "Лот №" — та же проблема — при заполнении еще неизвестен ID записи...

Андрей

Можно присвоить полю лот системное имя id прямо руками в базе (жуткое извращение), а можно прямо в \templates\default\content\default_list.tpl.php
написать что-то типа <?php echo 'Лот №'; echo htmlspecialchars($item['id']); '?>.
Но это уже хак…
#10 11 июня 2016 в 11:56

Если в шаблон xml-файла вставлять два поля — не срабатывает, т.е. {content} Лот №{id}. — не работает..

Андрей
Не совсем понял, что вам нужно. Тот компонент работает с существующими записями. А вы пытаетесь ему передать ещё ту которая только заполнена в форме, но не сохранена?
#11 11 июня 2016 в 12:35


Если в шаблон xml-файла вставлять два поля — не срабатывает, т.е. {content} Лот №{id}. — не работает..

Андрей
Не совсем понял, что вам нужно. Тот компонент работает с существующими записями. А вы пытаетесь ему передать ещё ту которая только заполнена в форме, но не сохранена?

Loadырь

Сорри, сумбурно пишу...
Хотел на начальной стадии прописать ид, но это не правильно...
Как выход — добавить уже существующий ид в файл хмл...
Выгрузка на другие сайты происходит посредством хмл, поэтому и решил, что в нужном теге можно дописать лот...
Но две переменные не срабатывают…
#12 11 июня 2016 в 12:52


Если создать текстовое поле "Лот №" — та же проблема — при заполнении еще неизвестен ID записи...

Андрей

Можно присвоить полю лот системное имя id прямо руками в базе (жуткое извращение), а можно прямо в \templates\default\content\default_list.tpl.php
написать что-то типа

HiAndy

В записи ид я вывел...
Основная задача — передать этот ид после текста об'явления в выгрузке…
#13 11 июня 2016 в 13:49

Основная задача — передать этот ид после текста об'явления в выгрузке...

Андрей
Ну тогда либо как Loadырь сказал, по событию добавления контента определенного типа выбирать из базы текст, ид объявления, дорисовывать ид к тексту и апдейт поля текст. Если православно — надо писать хук.
Либо хаком в модели контента после добавления объявления выбирать его id, текст объявления, дописать ид к тексту и апдейтить поле текст.
#14 11 июня 2016 в 14:24


Основная задача — передать этот ид после текста об'явления в выгрузке...

Андрей
Ну тогда либо как Loadырь сказал, по событию добавления контента определенного типа выбирать из базы текст, ид объявления, дорисовывать ид к тексту и апдейт поля текст. Если православно — надо писать хук.
Либо хаком в модели контента после добавления объявления выбирать его id, текст объявления, дописать ид к тексту и апдейтить поле текст.

HiAndy

нда...
целое дело...
хотел обойтись простым добавлением кода, но не тут-то было…
#15 11 июня 2016 в 15:13

Основная задача — передать этот ид после текста об'явления в выгрузке...

Андрей
Тогда уж если основная задача это результат в выгрузке, а не на сайте, то тут надо "напрягать" разработчика того самого компонента.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.