Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Стол заказов » Подключить вывод картинки в RSS ленту из КРАТКОЙ новости

Подключить вывод картинки в RSS ленту из КРАТКОЙ новости


 littlefamous    15.05.2020    Стол заказов    717    17 комментариев

Подключить вывод картинки в RSS ленту из КРАТКОЙ новости.
Сейчас стандартно картинки выводит из полной новости,но мне нужно выводить из краткой.

Плачу 500Р скину за решение.

Код rss.php ниже, если что требуется другое-пишите

<?php
/*
=====================================================

-----------------------------------------------------

-----------------------------------------------------
 Copyright (c) 
=====================================================
 This code is protected by copyright
=====================================================
 File: rss.php
-----------------------------------------------------
 Use: the news feeds
=====================================================
*/

if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../' );
	die( "Hacking attempt!" );
}

if($dle_module != "main" AND $dle_module != "allnews" AND $dle_module != "catalog" AND $dle_module != "cat") {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: /' );
	die("Hacking attempt!");
}

include_once (DLEPlugins::Check(ENGINE_DIR . '/classes/templates.class.php'));
include_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $config['langs'] . '/website.lng'));

if (strpos($config['http_home_url'], "//") === 0) $config['http_home_url'] = "https:".$config['http_home_url'];
elseif (strpos($config['http_home_url'], "/") === 0) $config['http_home_url'] = "https://".$_SERVER['HTTP_HOST'].$config['http_home_url'];

$tpl = new dle_template( );
$tpl->dir = ROOT_DIR . '/templates';
define( 'TEMPLATE_DIR', $tpl->dir );

$member_id['user_group'] = 5;

if( $category != '' ) $category_id = get_ID( $cat_info, $category );
else $category_id = false;

$view_template = "rss";

$config['allow_cache'] = true;
$config['allow_banner'] = false;
$config['rss_number'] = intval( $config['rss_number'] );
$config['rss_format'] = intval( $config['rss_format'] );
$cstart = 0;

if ( $user ) $config['allow_cache'] = false;

if( $_GET['subaction'] == 'allnews' ) $config['home_title'] = $lang['show_user_news'] . ' ' . htmlspecialchars( $user, ENT_QUOTES, $config['charset'] ) . " - " . $config['home_title'];
elseif( $_GET['do'] == 'cat' ) $config['home_title'] = stripslashes( $cat_info[$category_id]['name'] ) . " - " . $config['home_title'];

$rss_content = <<<XML
<?xml version="1.0" encoding="{$config['charset']}"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
<channel>
<title>{$config['home_title']}</title>
<link>{$config['http_home_url']}</link>
<language>{$lang['wysiwyg_language']}</language>
<description>{$config['home_title']}</description>
<generator>vonline.news</generator>
XML;

if( !file_exists( $tpl->dir . "/rss.tpl" ) ) {

	$tpl->template = <<<HTML
[shortrss]<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<description>{short-story}</description>
<turbo:content><![CDATA[{full-story}]]></turbo:content>
<category>{category}</category>
<dc:creator>{rssauthor}</dc:creator>
<pubDate>{rssdate}</pubDate>
</item>[/shortrss]
[fullrss]<item turbo="true">
<title>{title}</title>
<guid isPermaLink="true">{rsslink}</guid>
<link>{rsslink}</link>
<turbo:content><![CDATA[{short-story}]]></turbo:content>
<category><![CDATA[{category}]]></category>
<dc:creator>vonline.news</dc:creator>
<pubDate>{rssdate}</pubDate>
<lastBuildDate>{rssdate}</lastBuildDate>
</item>[/fullrss]
[yandexrss]<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<description>{short-story}</description>
<category>{category}</category>{images}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
<turbo:content><![CDATA[{full-story}]]></turbo:content>
</item>[/yandexrss]
HTML;

	$tpl->copy_template = $tpl->template;

} else {
	
	$tpl->load_template( 'rss.tpl' );
	
}


if( $config['site_offline'] OR ! $config['allow_rss'] ) {
	
	$rss_content .= <<<XML
<item>
<title>RSS in offline mode</title>
<guid isPermaLink="true"></guid>
<link></link>
<description>RSS in offline mode</description>
<category>undefined</category>
<dc:creator>vonline.news</dc:creator>
<pubDate>vonline.news</pubDate>
</item>
XML;

} else {
	
	if( $config['rss_format'] == 1 ) {
		
		$tpl->template = str_replace( '[fullrss]', '', $tpl->template );
		$tpl->template = str_replace( '[/fullrss]', '', $tpl->template );
		$tpl->template = preg_replace( "'\\[yandexrss\\](.*?)\\[/yandexrss\\]'si", "", $tpl->template );
		$tpl->template = preg_replace( "'\\[shortrss\\](.*?)\\[/shortrss\\]'si", "", $tpl->template );
		$tpl->template = trim($tpl->template);
		
	} elseif( $config['rss_format'] == 2 ) {
		
		$rss_content = <<<XML
<?xml version="1.0" encoding="{$config['charset']}"?>
<rss xmlns:yandex="http://news.yandex.ru" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
<channel>
<title>{$config['home_title']}</title>
<link>{$config['http_home_url']}</link>
<language>{$lang['wysiwyg_language']}</language>
<description>{$config['home_title']}</description>
<generator>vonline.news</generator>
XML;
		
		$tpl->template = str_replace( '[yandexrss]', '', $tpl->template );
		$tpl->template = str_replace( '[/yandexrss]', '', $tpl->template );
		$tpl->template = preg_replace( "'\\[fullrss\\](.*?)\\[/fullrss\\]'si", "", $tpl->template );
		$tpl->template = preg_replace( "'\\[shortrss\\](.*?)\\[/shortrss\\]'si", "", $tpl->template );
		$tpl->template = trim($tpl->template);		
	} else {
		
		$tpl->template = str_replace( '[shortrss]', '', $tpl->template );
		$tpl->template = str_replace( '[/shortrss]', '', $tpl->template );
		$tpl->template = preg_replace( "'\\[fullrss\\](.*?)\\[/fullrss\\]'si", "", $tpl->template );
		$tpl->template = preg_replace( "'\\[yandexrss\\](.*?)\\[/yandexrss\\]'si", "", $tpl->template );
		$tpl->template = trim($tpl->template);	
	}
	
	$tpl->copy_template = $tpl->template;
	
	include_once (DLEPlugins::Check(ENGINE_DIR . '/engine.php'));
	
	$rss_content .= $tpl->result['content'];
}

$rss_content .= '</channel></rss>';

$rss_content = str_ireplace( '{THEME}', $config['http_home_url'] . 'templates/' . $config['skin'], $rss_content );

header( "Content-type: application/xml; charset=".$config['charset'] );
echo $rss_content;

die();

?>

17 комментариев

littlefamous
Юзер

littlefamous - 15 мая 2020 08:14 -

rss.tpl код

[yandexrss]<item turbo="true">
<title>{title}</title>
<link>{rsslink}</link>
<description>{full-story}</description>
<category>{category}</category>
{image-1}
<pubDate>{rssdate}</pubDate>
<yandex:full-text>{full-story}</yandex:full-text>
</item>[/yandexrss]

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 10:13 -

Если речь идет о теге {image-1}, то {image-1} должен выводить из краткой новости, {fullimage-1} из полной.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 10:25 -

Да,но не выводит,либоя не понял куда его впихнуть..
в PHP или rss.tpl

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 10:26 -

покажите ссылку как выглядит на этот рсс (можно без домена).

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 10:40 -

Все должно работать - возможно не очистили кэш.

https://dle-news.ru/extras/online/index.html?rss_info.html

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 10:43 -

на крайний случай попробуйте так:

<![CDATA[{image-1}]]>

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 10:40 -

https://vonline.news/rss.xml

<rss xmlns:yandex="http://news.yandex.ru" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
<channel>
<title>В Онлайне. Новостной портал Москвы</title>
<link>https://vonline.news/</link>
<language>ru</language>
<description>В Онлайне. Новостной портал Москвы</description>
<generator>vonline.news</generator>
<item turbo="true">
<title>
Венгры запускают первое в мире исследование о том, как коронавирус влияет на мозг и нервную систему
</title>
<link>
https://vonline.news/health/386-vengry-zapuskajut-pervoe-v-mire-issledovanie-o-tom-kak-koronavirus-vlijaet-na-mozg-i-nervnuju-sistemu.html
</link>
<description>
Венгерская команда из Института экспериментальной медицины Венгерской академии наук (MTA KOKI) во главе с доктором Адамом Денесом инициировала исследовательский проект о влиянии коронавируса на нервную систему и, в частности, мозг.
</description>
<category>Здоровье</category>
<pubDate>Fri, 15 May 2020 09:00:05 +0300</pubDate>
<yandex:full-text>
Все чаще появляются клинические доказательства того, что наиболее тяжелые случаи - это случаи, когда нервная система и мозг в частности, также затронуты. Было значительное количество смертей, где острый респираторный симптом не мог быть объяснен относительно хорошим состоянием легких, при этом исследователи полагали, что эти смерти указывают на неврологические проблемы. Хотя предыдущие исследования подтвердили, что коронавирус влияет на мозг, в том числе исследование в Ухане 214 пациентов больницы, которое показало, что треть из них утратили чувство вкуса, обоняние и зрение, венгерское исследование будет первым, где изучили, как коронавирус проникает в мозг и наносит ему ущерб, а во многих случаях и смерть. Доктор Денес и его команда в Венгрии были одними из первых в мире, кто исследовал мозг пациентов, умерших от коронавируса, что также подтвердило их веру в то, что коронавирус убивает пациентов через нервную систему. В то время как венгерские исследования - это только начальная фаза, команда говорит, что предыдущие варианты коронавируса также воздействовали на мозг, и этому феномену способствует тот же ангиотензинпревращающий фермент, также известный как АПФ, который является центральным компонентом гормонов, регулирующих кровяное давление человеческого тела, которые присутствуют как в кровеносных сосудах, так и в нервных клетках. Считается, что этот жизненно важный фермент используется коронавирусами как «входные ворота». Во время пика кризиса, когда система здравоохранения была занята борьбой с острыми случаями, было мало времени для научных исследований, но свидетельства воздействия на нервную систему уже были. Это также подтвердил знаменитый венгерский ученый Ласло Барабаси-Альберт, чьи исследования также показали эту корреляцию в США. В случае успеха исследование может в результате привести к разработке новых лекарств, которые могут помочь в борьбе с воспалением мозга, вызываемым такими вирусами. Венгрия также была первой страной в мире, которая запустила общенациональную программу скрининга две недели назад, призванную дать более точное представление о количестве случаев заражения коронавирусом.
</yandex:full-text>
<turbo:content>
<![CDATA[
<p>Все чаще появляются клинические доказательства того, что наиболее тяжелые случаи - это случаи, когда нервная система и мозг в частности, также затронуты. Было значительное количество смертей, где острый респираторный симптом не мог быть объяснен относительно хорошим состоянием легких, при этом исследователи полагали, что эти смерти указывают на неврологические проблемы.</p> <p> </p> <p>Хотя предыдущие исследования подтвердили, что коронавирус влияет на мозг, в том числе исследование в Ухане 214 пациентов больницы, которое показало, что треть из них утратили чувство вкуса, обоняние и зрение, венгерское исследование будет первым, где изучили, как коронавирус проникает в мозг и наносит ему ущерб, а во многих случаях и смерть.</p> <p> </p> <p>Доктор Денес и его команда в Венгрии были одними из первых в мире, кто исследовал мозг пациентов, умерших от коронавируса, что также подтвердило их веру в то, что коронавирус убивает пациентов через нервную систему.</p> <p> </p> <p>В то время как венгерские исследования - это только начальная фаза, команда говорит, что предыдущие варианты коронавируса также воздействовали на мозг, и этому феномену способствует тот же ангиотензинпревращающий фермент, также известный как АПФ, который является центральным компонентом гормонов, регулирующих кровяное давление человеческого тела, которые присутствуют как в кровеносных сосудах, так и в нервных клетках. Считается, что этот жизненно важный фермент используется коронавирусами как «входные ворота».</p> <p> </p> <p>Во время пика кризиса, когда система здравоохранения была занята борьбой с острыми случаями, было мало времени для научных исследований, но свидетельства воздействия на нервную систему уже были. Это также подтвердил знаменитый венгерский ученый Ласло Барабаси-Альберт, чьи исследования также показали эту корреляцию в США.</p> <p> </p> <p>В случае успеха исследование может в результате привести к разработке новых лекарств, которые могут помочь в борьбе с воспалением мозга, вызываемым такими вирусами.</p> <p> </p> <p>Венгрия также была первой страной в мире, которая запустила общенациональную программу скрининга две недели назад, призванную дать более точное представление о количестве случаев заражения коронавирусом.</p>
]]>
</turbo:content>
<content:encoded>
<![CDATA[
<p>Все чаще появляются клинические доказательства того, что наиболее тяжелые случаи - это случаи, когда нервная система и мозг в частности, также затронуты. Было значительное количество смертей, где острый респираторный симптом не мог быть объяснен относительно хорошим состоянием легких, при этом исследователи полагали, что эти смерти указывают на неврологические проблемы.</p> <p> </p> <p>Хотя предыдущие исследования подтвердили, что коронавирус влияет на мозг, в том числе исследование в Ухане 214 пациентов больницы, которое показало, что треть из них утратили чувство вкуса, обоняние и зрение, венгерское исследование будет первым, где изучили, как коронавирус проникает в мозг и наносит ему ущерб, а во многих случаях и смерть.</p> <p> </p> <p>Доктор Денес и его команда в Венгрии были одними из первых в мире, кто исследовал мозг пациентов, умерших от коронавируса, что также подтвердило их веру в то, что коронавирус убивает пациентов через нервную систему.</p> <p> </p> <p>В то время как венгерские исследования - это только начальная фаза, команда говорит, что предыдущие варианты коронавируса также воздействовали на мозг, и этому феномену способствует тот же ангиотензинпревращающий фермент, также известный как АПФ, который является центральным компонентом гормонов, регулирующих кровяное давление человеческого тела, которые присутствуют как в кровеносных сосудах, так и в нервных клетках. Считается, что этот жизненно важный фермент используется коронавирусами как «входные ворота».</p> <p> </p> <p>Во время пика кризиса, когда система здравоохранения была занята борьбой с острыми случаями, было мало времени для научных исследований, но свидетельства воздействия на нервную систему уже были. Это также подтвердил знаменитый венгерский ученый Ласло Барабаси-Альберт, чьи исследования также показали эту корреляцию в США.</p> <p> </p> <p>В случае успеха исследование может в результате привести к разработке новых лекарств, которые могут помочь в борьбе с воспалением мозга, вызываемым такими вирусами.</p> <p> </p> <p>Венгрия также была первой страной в мире, которая запустила общенациональную программу скрининга две недели назад, призванную дать более точное представление о количестве случаев заражения коронавирусом.</p>
]]>
</content:encoded>
</item>

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 10:45 -

Одна такое вхождение вижу по ссылке:

<enclosure url="https://vonline.news/uploads/posts/2020-05/medium/1589476668_6e06f9f936f64a25841b97ee9107891b-1024x684.jpg" type="image/jpeg" />

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 10:47 -

Правильно,потому что это если добавлять в полную новость картинку-тогда выводится.
А мне нужно чтобы из краткой новости брали картинку в RSS

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 11:28 -

какая версия dle?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 12:10 -

14.0

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 11:33 -

В общем дело в том, что похоже вы rss.tpl Не туда приложили.

В какой папке находится Ваш rss.tpl?

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 12:10 -

СТандартно, в папке с шаблоном

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 12:14 -

переложите в папку templates, не в имя шаблона, а прямо в templates

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

littlefamous
Юзер

littlefamous - 15 мая 2020 13:02 -

Вот слона то я и не заметил..точно... но теперь выдает ссылкой,а при enclosure выдает ошибку...как лучше?

Куда "Спасибо" перевести))?

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 13:10 -

Реквизиты в профиле

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 15 мая 2020 13:56 -

по поводу второго лучше создать отдельный вопрос.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх