Jump to content
Дизайн и модификация Invision Power Board IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Zero108

Подскажите, как и где модифицировать содержимое RSS-потока?

Recommended Posts

https://www.a108.net/gallery/images.xml/  
https://www.a108.net/rss/7-gallery.xml/

Два RSS-потока. Первый от приложения Gallery. Второй создается для галереи в админке. Как модифицировать любой из них, чтобы в поле

<description> </description>

добавлялся автомтически url добавленного в галерею изображения. Иначе трансляция в Instagram не работает.

 

Например, так:

 

<description>https://www.a108.net/uploads/monthly_2019_01/large.gallery_1_49_112555.jpg.f3fa0691cc47c7c87119525ca5edf900.jpg</description>

Edited by Zero108

Share this post


Link to post
Share on other sites

Так оно и так там добавляется

 

<description>

<p>
<a href='https://www.a108.net/gallery/image/2717-shrila-pran-krishna-das-babaji-shrila-pran-krishna-das-babadzhi/' title='Shrila Pran Krishna das Babaji : Шрила Пран Кришна дас бабаджи'><img src='https://www.a108.net/uploads/monthly_2019_01/large.IL4UyoYUa3A.jpg.f56ddbc6a74586b16b8368bf54747dce.jpg' title="Shrila Pran Krishna das Babaji : Шрила Пран Кришна дас бабаджи" alt="Shrila Pran Krishna das Babaji : Шрила Пран Кришна дас бабаджи"></a>
</p></description>

Share this post


Link to post
Share on other sites

Вот в этом есть и его пока использую:

https://www.a108.net/gallery/images.xml/

Во втором, к сожалению, url картинки не вставляют. Не подскажите шаблон или файл, где можно поменять данные, выводимые в эти rss потоки?

Share this post


Link to post
Share on other sites

Для первого

\applications\gallery\modules\front\gallery\browse.php

 

			$document->addItem( $image->caption, $image->url(), \IPS\Theme::i()->getTemplate( 'view' )->rssContent( $image ), \IPS\DateTime::ts( $image->updated ), $image->id );

\IPS\Theme::i()->getTemplate( 'view' )->rssContent( $image ) можете заменить на $image->url()

 

Для второго

\system\Content\Search\Result\Content.php

Найти

$object = $class::load( $this->indexData['index_object_id'] );

Ниже добавить

			if (\IPS\Dispatcher::hasInstance() and \IPS\Dispatcher::i()->controllerLocation == 'front' and \IPS\Request::i()->app == 'core' and \IPS\Request::i()->module == 'discover' and \IPS\Request::i()->controller == 'rss' and \IPS\Request::i()->id == 7
		)
		{
			$this->indexData['index_content'] = $object->url();
		}

  • Upvote 2

Share this post


Link to post
Share on other sites

Пытаюсь стать автором на Flipboard. Для этого нужно иметь свой собственный RSS-поток, к которому предъявлены строгие требования: https://about.flipboard.com/rss-spec/

 

В частности у моего RSS-потока https://www.a108.net/rss/9-articles.xml/ отсутствуют такие поля из их списка:

<language> the language the feed is written in, using ISO-639 language codes and optionally ISO-3166 country codes – examples include “en”, “fr”, “en-CA”, and “fr-FR”

<guid>a unique id for this entry in the feed (can be the item URL).

<dc:creator> the author(s) of the article.

<enclosure> use this tag to add a media element that will be used in layout view to illustrate your article. It can be an image or a video. For videos, mobile-friendly mp4 format is strongly preferred. For images, prefer a high-resolution image; the smallest dimension should not be under 500px.

 

 

Как добавить эти поля в RSS-поток, создаваемый через админпанель? Например, для language прописать для конкретного потока en; для dc:creator прописать любое фиксированне имя автора; для guid подставить url из поля link; в enclosure прописать url приаттаченной к статье картинки?

Share this post


Link to post
Share on other sites

the language the feed is written in, using ISO-639 language codes and optionally ISO-3166 country codes – examples include “en”, “fr”, “en-CA”, and “fr-FR”

Это есть

 

Как добавить эти поля в RSS-поток, создаваемый через админпанель?

\system\Xml\Rss.php

	/**
 * Add Item
 *
 * @param	string				$title			Item title
 * @param	\IPS\Http\Url|NULL	$link			Item link
 * @param	string|NULL			$description	Item description/content
 * @param	\IPS\DateTime|NULL	$date			Item date
 * @param	string				$guid			Item ID
 * @return	void
 * @todo	[Future] The feed will validate now, but unrecognized attribute values cause warnings when validating. Also, the validator recommends using an Atom feed with the atom:link attribute.
 */
public function addItem( $title = NULL, \IPS\Http\Url $link = NULL, $description = NULL, \IPS\DateTime $date = NULL, $guid = NULL )

Добавляете свои элементы по аналогии с другими.

Share this post


Link to post
Share on other sites

а как же ?

<dc:creator>

<enclosure>

 

И почему когда я в браузере смотрю содержание RSS-потока, я не вижу упомянутых 4 полей?

Edited by Zero108

Share this post


Link to post
Share on other sites

Я написал, что уже есть.

Остальные нужно добавить в указанный метод.

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, как добавить. Я не программист.

Share this post


Link to post
Share on other sites

У Вас там 1 база (база, созданная в Pages) используется для РСС?

Share this post


Link to post
Share on other sites

Да, статьи из Pages беруться из одной базы.

Edited by Zero108

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...