Перейти к содержимому


Партнерская программа Kredov

Получить данные из формы

#1 mila_serdnaya

mila_serdnaya
  • Пользователь
  • 21 сообщений
  • Репутация: 0
0

Отправлено 23 Октябрь 2015 - 15:29

Здравствуйте всем!
Мы разрабатываем такой компонент: зарегистрированный пользователь может создавать свои сборники, в которые может помещать свои материалы.
В базе данных есть 2 таблицы:
- chmos_compilations (для списка сборников)
- chmos_compilations_articles (для создания связи между произведениями и сборниками) 

Мы написали плагин типа 'content' для вставки поля сборников, осталось в этом плагине написать код на событие onContentAfterSave для сохранения связи между материалом и сборником.
-------------------------
Нам нужно получить данные, которые придут из формы. В них должен быть ID сборника. Потом сохранить этот полученный ID в таблицу chmos_compilations_articles вместе с ID материала.

Подскажите, пожалуйста, как мы это можем сделать? Как эти данные получают?
 
 

 

 

  • 0

#2 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 23 Октябрь 2015 - 15:49

Ну если в форме передаётся идентификатор, то и отловить его можно по имени поля. А так подробнее что и как


  • 0

#3 mila_serdnaya

mila_serdnaya
    Topic Starter
  • Пользователь
  • 21 сообщений
  • Репутация: 0

Отправлено 23 Октябрь 2015 - 16:48

Простите, мы ни разу не программисты. Как нам узнать, передаётся ли в форме идентификатор?

Вот php-код нашего плагина. Нужно сюда, как мы и писали выше, добавить код на событие onContentAfterSave для сохранения связи между материалом и сборником.

Как нам отловить этот идентификатор?

<?php

defined('_JEXEC') or die;

class PlgContentChmosplugin extends JPlugin
{
	protected $autoloadLanguage = true;
	
	public function __construct(& $subject, $config)
	{
		parent::__construct($subject, $config);

		JFormHelper::addFieldPath(__DIR__ . '/fields');
	}

	public function onContentPrepareForm($form, $data)
	{
		if (!($form instanceof JForm))
		{
			$this->_subject->setError('JERROR_NOT_A_FORM');

			return false;
		}

		// Check we are manipulating a valid form
		if ($form->getName() !== 'com_content.article')
		{
			return true;
		}

		JForm::addFormPath(__DIR__ . '/forms ');
		$form->loadFile('compilations', false);
	}
	
	
	
}

  • 0

#4 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 23 Октябрь 2015 - 18:25

@mila_serdnaya, не, я из этого кода ничего не вижу, поэтому не посоветую. 


  • 0


Оформление форума – IPBSkins.ru