Перейти к содержанию

balfear

Новичок
  • Постов

    1
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные balfear

  1. В 28.02.2017 в 23:41, Nike555 сказал:

    Простите за флуд...

    Поставил другую версию форума и не заметил..проблемы одинаковы, оказывается для каждой системы(форум, блог, галерея) есть своя личная лента и именно там доступно HTML в <description>...</description>.(создалось после установки автоматически лента для всех новых тем)

    Но при создание обычной РСС ленты (Система -> Поиск контента -> RSS ленты) там невозможно поставить с HTML. Это так плохо продумали разрабы или я что-то не то сделал?

    Буду рад увидеть ваши идеи) 

    [Использую Invision Community v4.2.6 NULLED]
    Тоже понадобилась html разметка в rss, не нашел каких-либо решений, сделал так:
    - Получаем содержимое поста из БД.
    - Пропускаем через фильтр сохраняя нужные теги, остальные удаляются.
    - Заменяем внутренние ссылки c fileStore.core_Attachment на forum/uploads.
    Изменить файл: /system/Content/Search/Result/Content.php

    	public function addToRssFeed( \IPS\Xml\Rss $document )
    	{
    		$class = $this->indexData['index_class'];
    		$object = $class::load( $this->indexData['index_object_id'] );
    
    		$object_id = $this->indexData['index_object_id'];
    
    		/* Обращаемся к БД и получаем текст поста с HTML разметкой */
    		$select = \IPS\Db::i()->select( 'post', 'forums_posts', "pid = $object_id" )->first();
    		/* Указываем теги которые необходимо сохранить, остальные удаляются */
    		$select = strip_tags($select, '<p><br><ul><li><font><strong><s><b><img>');
    		/* Заменяем ссылки изображений */
    		$select = preg_replace('/fileStore.core_Attachment/', "forum/uploads", $select);
    
    		$document->addItem( $object instanceof \IPS\Content\Comment ? $object->item()->mapped('title') : $object->mapped('title'), $object->url(), $select, \IPS\DateTime::ts( $this->indexData['index_date_created'] ) );
    	}

     

×
×
  • Создать...