Перейти к содержимому
Русский язык для Invision Community 5

Отправка дополнительных данных

Нужно при помощи формы Отзывов при добавлении отзыва отправить дополнительное значение из <input> в переменную ( $record->getRulesDataWithPermission('data_key'); или доп. поля записи) записи базы данных cms. Как такое лучше всего организовать? Желательно пример кодом

Рекомендованные сообщения

19.04.2020 в 03:14, zigazaga сказал:

Как такое лучше всего организовать?

Либо плагином, либо файлы править

  • Автор
9 часов назад, newbie сказал:

Либо плагином, либо файлы править

 

19.04.2020 в 01:14, zigazaga сказал:

Желательно пример кодом

 

\system\Content\Item.php

	/**
	 * Build review form
	 *
	 * @return	string
	 */
	public function reviewForm()
	{

Например, после 

$form->add( new \IPS\Helpers\Form\Rating( static::$formLangPrefix . 'rating_value', NULL, TRUE, array( 'max' => \IPS\Settings::i()->reviews_rating_out_of ) ) );

добавляете 

if ( $this instanceof \IPS\cms\Records )
{
	$form->add( new \IPS\Helpers\Form\Text( static::$formLangPrefix . 'something', NULL, TRUE ) );
}

review.png

Далее выше 

/* Disable read/write separation */

можете использовать $values['content_record_form_something']

Только проверяйте, что в $values есть ключ content_record_form_something

  • Автор

благодарю, буду пробовать

  • 11 месяцев спустя...
  • Автор

а в комменты как отправить форму или еще что-то? так не работает:

//<?php

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
	exit;
}

abstract class hook33 extends _HOOK_CLASS_
{
	/**
	 * Add the comment form elements
	 *
	 * @return	array
	 */
	public function commentFormElements()
	{
			/* Init */
			return parent::commentFormElements();
			$return['something'] = new \IPS\Helpers\Form\Text( static::$formLangPrefix . 'something', NULL, TRUE );

	}
}

 

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.