РЕГИСТРАЦИЯ
Гость
Вход не выполнен.

Как использовать доп поля для комментариев?

Sipth

  • Новичок
  • Посетитель
  • 7
  • 0
  • Жалоб нет
  • Регистрация:
#1

Попробовал как описано на вики но так не получается.
Для материалов это применяется нормально, но не для комментариев.


MrBoriska

  • Мастер
  • Администратор
  • 285
  • 11
  • Жалоб нет
  • Регистрация:
#2

В комментариях почти тоже самое, только контекст доступа к полям другой.
В дефолтном шаблоне вот так:

{{ comment.add_field_1 }}

Sipth

  • Новичок
  • Посетитель
  • 7
  • 0
  • Жалоб нет
  • Регистрация:
#3

это на редактирование поля или на вывод? или то и другое?

Круто это и то и другое.
Хорошо бы эту инфу в вики внести и данную тему можно закрыть.


Отредактировано автором в

Sipth

  • Новичок
  • Посетитель
  • 7
  • 0
  • Жалоб нет
  • Регистрация:
#4
Теперь возникли еще вопросы: 1)При создании доп полей есть поле для заполнения "Шаблон данных (рег. выражение):Максимальный размер cохраняемых данных(в символах)" что туда мжно записывать? Как туда записать что бы делало проверку на правильную заполненность E-mail? 2) Как сделать что бы при редактировании комментария в доп поле выводилось то что туда заполнили? при добавлении и при редактировании использую вот так: 

Отредактировано автором в

Rad Cor

  • Участник
  • Пользователь
  • 26
  • 1
  • Жалоб нет
  • Регистрация:
#5
Цитата
2) Как сделать что бы при редактировании комментария в доп поле выводилось то что туда заполнили? при добавлении и при редактировании использую вот так:
По логике вещей нужно так:
 <input type="text" name="comment.add_field_1" value="{{ comment.add_field_1 }}"/>
Но я конечно могу и ошибаться)

gbox.su

MrBoriska

  • Мастер
  • Администратор
  • 285
  • 11
  • Жалоб нет
  • Регистрация:
#6
Да, на тему комментариев надо написать документацию. Контекст там не очевидный... В форме редактирования это {{ form }}, а в форме добавления это {{ data }} . Вывод комментариев у нас через массив {{ commentsr }} (да именно с r на конце.). Это, конечно, не дело. Нужно менять на адекватные названия. В формах контекст должен быть в {{ context }} , а в выводе сделать просто {{ comments }} . Дрюня слегка не подумал, когда придумывал названия. Думаю сейчас прямо и сменю. Посмотрим, получится ли мне красиво сохранить обратную совместимость.
Цитата
Но я конечно могу и ошибаться)
Ты, конечно, ошибся. :D добавление:
<input type="text" name="data.add_field_1" value="{{ data.add_field_1 }}"/>
редактирование:
<input type="text" name="form.add_field_1" value="{{ form.add_field_1 }}"/>
Цитата
1)При создании доп полей есть поле для заполнения "Шаблон данных (рег. выражение):Максимальный размер cохраняемых данных(в символах)" что туда мжно записывать?Как туда записать что бы делало проверку на правильную заполненность E-mail?
Шаблон данных (рег. выражение) В шаблоне данных записываешь регулярку и система будет осуществлять валидацию вводимых значений по этой регулярке. (обычная php регулярка). Для упрощения жизни можно использовать зарезервированные в константах регулярные выражения из встроенного класса Validate.
define ('V_TITLE', '#^[A-ZА-Яа-яa-z0-9ё\s\-(),._\?!\w\d\{\}\<\>:=\+&%\$\[\]\\\/"\']+$#ui');
define ('V_TITLE_NOHTML', '#^[A-ZА-Яа-яa-z0-9ё\s\-(),._\?!\w\d\{\}:=\+&%\$\[\]\\\/"\']+$#ui');
define ('V_INT', '#^\d+$#i');
define ('V_TEXT', '#^[\wA-ZА-Яа-яa-z0-9\s\-\(\):;\[\]\+!\.,&\?/\{\}="\']*$#uim');
define ('V_MAIL', '#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i');
define ('V_URL', '#^((https?|ftp):\/\/)?(www.)?([0-9a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+(-?[0-9a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+)*\.)+[a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]{2,6}(\/[+-\w\d=_.%\?&\/]*)*$#i');
define ('V_CAPTCHA', '#^[\dabcdefghijklmnopqrstuvwxyz]+$#i');
define ('V_LOGIN', '#^[- _0-9A-Za-zА-Яа-я@]+$#ui');
define ('V_LOGIN_LATIN', '#^[- _0-9A-Za-z@]+$#ui');
define ('V_FULLNAME', '#^[A-ZА-Яа-яa-zё\s\-(),.\D\']+$#ui');
define ('V_CITY', '#^[- _a-zА-Яа-я@]+$#ui');
Соответственно можно написать туда вместо самого регулярного выражения: #^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i , константу V_MAIL . И радоваться жизни) Максимальный размер cохраняемых данных(в символах) Для поля с типом text (кстати это не значит что , вы можете использовать и type="password" или вовсе