Добавление новых (кастомных) полей для модуля Блоги 2.0

Материал из Umicms
Версия от 05:50, 29 апреля 2010; VITL' (обсуждение | вклад) (Новая страница: « category:Описание модулей и макросов Изменение кода аналогично тому как это описано в стат…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии". Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким:

<?php
  $permissions = Array(
      'common' => Array('commentAddNew')
	);
?>

В коде метода commentAddNew меняем все записи:

$this-> и self::

на

def_module::


После записи:

$sContent = htmlspecialchars(trim(getRequest('content')));

Прописываем прием значения кастомного поля с идентификатором newfield (для примера):

$sField = htmlspecialchars(getRequest('newfield'));

После записей:

$oComment->setValue('content',      $sContent);
$oComment->setValue('author_id',    $authorId);

Сохраняем значение нашего поля:

$oComment->setValue('newfield', $sField);

Также не забудьте в шаблоне ~tpls/blogs20/default.tpl, в блоках comment_add_form и comment_add_form_guest поменять значение action, заменив commentAdd на commentAddNew.