private:koding:hostcms:modules:avtoposting_v_socialnye_seti:pereopredelenie_massiva_podmen

This is an old revision of the document!


Доработка наблюдателя

Модуль: http://www.hostcms.ru/shop/market/modules/exportimport/social/

Необходимо доработать наблюдатель.

  1. Добавить возможность добавление в пост, текста из доп.свойства информационного элемента.
  2. Добавить возможность добавления в пост, тегов информационного элемента.

Создаём доп. свойство у нужной информационной системы, запоминаем XML-тег. Далее необходимо создать папку observer в Корень/modules/social/, и внутри неё создать ещё одну папку с таким же именем (observer). Поместить в неё файл addreplaces.php

Содержимое файла addreplaces.php

<?php
defined('HOSTCMS') || exit('HostCMS: access denied.');
 
class Social_Observer_Observer_AddReplaces
{
	/**
	 * 
	 * @return array
	 */
	static public function onAfterBuildInformationsystemData($null, $args)
	{
		list($aReplace, $object) = $args;
 
		$oInformationsystemItemPropertyList = Core_Entity::factory('Informationsystem_Item_Property_List', $object->informationsystem_id);
		$oSocTextProperty = $oInformationsystemItemPropertyList->Properties->getByTagName('soc_text');
 
		$aReplace['%SOC_TEXT%'] = '';
 
		if($oSocTextProperty)
		{
			$aoPropertyValues = $oSocTextProperty->getValues($object->id, false);
 
			if(count($aoPropertyValues))
			{
				$aReplace['%SOC_TEXT%'] = $aoPropertyValues[0]->value;
			}
		}
 
		$aoTags = $object->Tags->findAll();
		$aTags = array();
 
		foreach ($aoTags as $oTag)
		{
		    $aTags[] = '#' . $oTag->name;
		}
 
		$aReplace['%TAGS%'] = implode(' ', $aTags);
 
		return $aReplace;
	}
}

При желании можно изменить:

  • getByTagName('вставляем XML-тег созданного доп свойства')
  • Меняем имена переменных
  • %SOC_TEXT%
  • %TAGS%

В корне сайта изменить файл bootstrap.php, добавить в конце следующий код:

 Core_Event::attach('Social_Observer.onAfterBuildInformationsystemData', array('Social_Observer_Observer_AddReplaces', 'onAfterBuildInformationsystemData'));

Перейти в админку, "Экспорт в социальные сети", и в шаблон текста публикуемого информационного элемента, добавить:

  • %SOC_TEXT%
  • %TAGS%

Результат:

Страницу создал Константин Сериков 31.03.17 в 12:37

private/koding/hostcms/modules/avtoposting_v_socialnye_seti/pereopredelenie_massiva_podmen.1490961093.txt.gz · Last modified: 31.03.17 в 14:51 by reval-31_mail.ru