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

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: « category:Описание модулей и макросов Изменение кода аналогично тому как это описано в стат…»)
 
Строка 1: Строка 1:
[[category:Описание модулей и макросов]]
+
[[Категория:Модуль блоги20]][[Категория:Написание кастомных макросов]]
 
Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии".
 
Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии".
 
Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким:
 
Копируем код метода commentAdd из файла ~classes/modules/blogs20/class.php в файл classes/modules/ blogs20/__custom.php, переименовываем метод, пусть будет название commentAddNew. Создаем файл permissions.custom.php, содержимое файла permissions.custom.php должно быть таким:

Версия 20:40, 4 июня 2013

Изменение кода аналогично тому как это описано в статье "Добавление новых (кастомных) полей для модуля Комментарии". Копируем код метода 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.