PDA

Zobacz pełną wersję : Kanał RSS



magda_
24-09-2019, 13:37
Cześć,
Nie mogę nigdzie znaleźć miejsca gdzie należy podać tytuł dla kanału RSS, tzn: teoretycznie zakładałam, że powinnam to zrobić w: Komponenty --> Doniesienia --> Źródła, dodając kanał wraz z nazwą "Mój tytuł kanału RSS", jednak to nic nie zmienia i na czytnikach po wpisaniu adresu strony w wyszukiwarce pojawiają się dwa kanały o nazwach: "RSS 2.0" i "Atom 1.0", z czego tylko "Atom 1.0" wyświetla prawidłowo informacje ze strony. Jak można temu zaradzić? Będę wdzięczna za podpowiedzi.
Wersja joomli 3.9.11

Magda

siristru
24-09-2019, 14:27
RSS 2.0 i Atom to nie są nazwy kanałów tylko wersje twojego jednego kanału.

Tutaj jest moja strona z wiadomościami. Ma włączony kolporter wiadomości. Jeśli zajrzymy do nagłówka kodu strony zobaczymy:


<!DOCTYPE html>
<html lang="pl-pl" dir="ltr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="utf-8" />
<base href="http://siristru.prolusatia.pl/news.html" />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>News</title>
<link href="/news.feed?type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/news.feed?type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />

Jak widzisz ta strona oferuje 2 rodzaje tego samego kanału. Różnią się one formatem i standardem XML jakiego używają.

Moduł kolportera oferuje następującą treść:


<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>News</title>
<description><![CDATA[]]></description>
<link>http://siristru.prolusatia.pl/news.html</link>
<lastBuildDate>Tue, 24 Sep 2019 14:20:25 +0200</lastBuildDate>
<generator>Joomla! - Open Source Content Management</generator>
<atom:link rel="self" type="application/rss+xml" href="http://siristru.prolusatia.pl/news.feed?type=rss"/>
<language>pl-pl</language>
<item>
<title>Test 6</title>
<link>http://siristru.prolusatia.pl/news/test-6.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-6.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:46:40 +0100</pubDate>
</item>
<item>
<title>Test 11</title>
<link>http://siristru.prolusatia.pl/news/test-5.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-5.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:45:45 +0100</pubDate>
</item>
<item>
<title>Test 4</title>
<link>http://siristru.prolusatia.pl/news/test-4.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-4.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:35:17 +0100</pubDate>
</item>
<item>
<title>Test 11</title>
<link>http://siristru.prolusatia.pl/news/test-3.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-3.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:32:53 +0100</pubDate>
</item>
<item>
<title>Test 2</title>
<link>http://siristru.prolusatia.pl/news/test-2.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-2.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:32:39 +0100</pubDate>
</item>
<item>
<title>Test 11</title>
<link>http://siristru.prolusatia.pl/news/test-1.html</link>
<guid isPermaLink="true">http://siristru.prolusatia.pl/news/test-1.html</guid>
<description><![CDATA[<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat.</p>]]></description>
<category>start-test</category>
<pubDate>Mon, 17 Dec 2018 21:32:27 +0100</pubDate>
</item>
</channel>
</rss>


Na samym początku sa interesujące Ciebie informacje:


<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>News</title>

Widzimy format RSS 2.0 oraz title kanału. Kanał ma taki sam tytuł jak pozycja menu :)

Kiedy wybiore Atoma to:
<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<title type="text">News</title>
<subtitle type="text"></subtitle>
<link rel="alternate" type="text/html" href="http://siristru.prolusatia.pl"/>
<id>http://siristru.prolusatia.pl//news.feed</id>
Te same informacje mają nieco inną strukturę. Twój czytnik po prostu najpierw pyta jaka wersje RSS życzysz sobie załadować.

magda_
24-09-2019, 14:53
Dziękuję za obszerną odpowiedź.
Źle się wyraziłam.
Ja wiem że to są dwie wersje kanału, tylko chciałabym żeby w czytniku nie pokazywała się wersja kanału jako jego tytuł, tylko żeby pokazywał sie właściwy tytuł.
W tym samym czytniku kanały RSS z innych stron pokazują tytuły, np: "blog kucharski" i wiadomo o co chodzi gdy patrzy na się na listę subskrypcji.
Nie jest to więc kwestia czytnika tylko tego co wychodzi z joomli.
Nie wiem gdzie to mogę ustawić. Czy w ogóle jest to możliwe przez panel administracyjny?
Magda

siristru
24-09-2019, 15:57
Dobra, rozumiem. Problem polega na tym, ze RSS 2.0 i Atom 1.0 to domyślne nazwy (title) tych kanałów:


<!DOCTYPE html>
<html lang="pl-pl" dir="ltr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="utf-8" />
<base href="http://siristru.prolusatia.pl/news.html" />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>News</title>
<link href="/news.feed?type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/news.feed?type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />

I jest to ustawione na sztywno (dla kategorii) tutaj (od linii 314):

ROOT/libraries/src/MVC/View/CategoryView.php


Ale w plikach źródłowych lepiej nic nie zmieniać. Można to spróbować obejść... daj mi chwilkę, zobaczę. Dam znać.

siristru
24-09-2019, 16:16
Dobra, da się zrobić :) Oto instrukcja:

1. Idź do Menu na zapleczu i edytuj pozycję menu dla której chcesz mieć kanał RSS. Instrukcja pokazuje modyfikację dla kategorii artykułów - blog
2. W zakładce Opcje Integracji ustaw Łącze modułu Kolporter na POKAŻ (to ważne, nie może być Ukryj lub ustawienia Globalne) http://prntscr.com/pacauu
3. Zapisz.
4. Skopiuj ten plik:

ROOT/components/com_content/views/category/tmpl/blog.php

do

ROOT/templates/<twoj-szablon>/html/com_content/category

5. Edytuj plik i dodaj w nim ten kod:


$itemid = JRequest::getVar('Itemid');
$menu = (new JSite)->getMenu();
$active = $menu->getItem($itemid);
$params = $menu->getParams( $active->id );
$app = JFactory::getApplication();
if ($params->get('show_feed_link', 1) == 1)
{
$link = '&format=feed&limitstart=';
$attribs = array('type' => 'application/rss+xml', 'title' => 'Mój tekst: ' . $app->getCfg('sitename'));
$this->document->addHeadLink(\JRoute::_($link . '&type=rss'), 'alternate', 'rel', $attribs);
$attribs = array('type' => 'application/atom+xml', 'title' => 'Moj tekst: ' . $app->getCfg('sitename'));
$this->document->addHeadLink(\JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs);
}

Zaraz pod kodem:


JHtml::_('behavior.caption');

By mieć coś takiego:

http://prntscr.com/pacd6f

Możesz zmienić "Mój tekst: " na coś innego ale koniecznie musi to być pomiędzy apostrofami ' '.

A to jest wynik: http://prntscr.com/pacdyz

http://prntscr.com/pacf7d (http://prntscr.com/pacdyz)

magda_
24-09-2019, 16:41
ok, dzięki, czekam :)

- - - Updated - - -

aaa już wskoczyła odpowiedź, to próbuję

- - - Updated - - -

niestety nic się nie zmieniło, nadal generuje tak:
co prawda katalogi: com_content/category musiałam dodac bo ich nie było w moim szablonie...
może to dlatego?

<!DOCTYPE html>
<html lang="pl-pl" dir="ltr"
class='com_content view-featured itemid-265 j39 mm-hover'>

<head>
<base href="https://benchen.org.pl/pl/" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="keywords" content="buddyzm, buddyzm tybetański, praktyka buddyjska" />
<meta name="rights" content="ZWIĄZEK BUDDYJSKI BENCIEN KARMA KAMTSANG" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Centrum Buddyjskie Grabnik reprezentuje buddyzm tybetański wadżrajany. Jest polską filią tybetańskiego klasztoru Bencien, a także siedzibą
Polskiej Unii Buddyjskiej pod patronatem J.Ś. Dalajlamy." />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>BENCIEN PL - Buddyzm tybetański. Bencien Karma Kamtsang</title>
<link href="/pl/?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/pl/?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />

siristru
24-09-2019, 17:03
:) Bo to nie jest kategoria blog tylko zapewne wyróżnione (skoro to pierwsza strona).

To zrób to samo tylko plik:

ROOT/components/com_content/views/featured/tmpl/default.php

do

ROOT/templates/<twoj-szablon>/html/com_content/featured

I tak, domyślnie tych katalogów nie będziesz mieć w katalogu html i trzeba je utworzyć. Ta metoda nazywa się "nadpisywanie widoku szablonem" :)

magda_
24-09-2019, 18:08
Niestety poskutkowało jedynie tym, że zniknęła mi strona główna.
Dzięki, ale chyba sobie daruję, nie znam joomli i php na tyle, żeby grzebać w plikach źródłowych, a to niedobrze jak się nie rozumie co się robi.
No trudno, jeśli nie ma innej metody, to niech tak zostanie.
Chyba że podpowiesz mi gdzie znaleźć plik z nagłówkiem i na sztywno zmienię metatagi.

siristru
24-09-2019, 18:57
Przygotowałem te pliki dla Ciebie. Musisz jednak spełnić określone warunki:

Musisz mieć zainstalowaną Joomle 3.9.11

Następnie:

1. Pozycja menu dla listy artykułów w kategorii (category - blog) i/lub lista artykułów wyróżnionych (featured) muszą mieć ustawione zakładce Opcje Integracji ustaw Łącze modułu Kolporter na POKAŻ (to ważne, nie może być Ukryj lub ustawienia Globalne) http://prntscr.com/pacauu

2. Pobierz ten plik:

https://filebin.net/wow43eqyry2vexgt

3. Wrzuć jego zawartość do ROOT/templates/<twoj-szablon>/html/

Jeśli to nie działa lub rozwala stronę - usuń pliki i sprawdź jaką wersje Joomli masz. Moje rozwiązanie jest dla najnowszej wersji.

Ostatecznie możesz napisać do mnie na PW - jak mi zaufasz mogę wprowadzić modyfikację na twojej stronie.

magda_
24-09-2019, 20:41
Ok, dziękuję za poświęcony czas. Jutro po kolei zrobię wszystko jeszcze raz i dam znać jak sytuacja.
Mam najnowszą wersje joomli.

magda_
25-09-2019, 10:14
Cześć :)

Działa, ale zamiast kafelków z linkami do artykułów w takiej postaci: https://benchen.org.pl/pl/program/aktualny-program (trzy obok siebie)
Pokazuje się teraz tak: https://benchen.org.pl/pl/ (pojedyncze duże kafelki)
Powinny być trzy obok siebie.

Magda

- - - Updated - - -

siristru
25-09-2019, 10:53
Aaaaa, zatem wygląda na to, że masz u siebie na stronie zmodyfikowany widok.

Pod linkiem https://benchen.org.pl/pl/program/aktualny-program widać, że tam jest Bootstarp 4 gdy pod stroną główną Bootstrap 2 (domyślny dla Joomli).

Ale skoro nie miałaś plików w ROOT/templates/<szablon>/html/layouts... to znaczy, że ta modyfikacja znajduje się w oryginalnym pliku ROOT/layouts! (co jest złą praktyką).

Prześlij mi Twój plik ROOT/layouts/joomla/com_content/featured/default.php zamieszczę w nim poprawkę.

magda_
25-09-2019, 12:05
Nie mam folderu com_content w layouts :obojetny:
Prawdę powiedziawszy, strona powstawała już dość dawno, ale na pewno nie edytowałam plików joomli.
Popatrzę jeszcze, gdzie to mogłam ustawiać od strony zaplecza.

siristru
25-09-2019, 13:46
Jeszcze raz. Plik:

ROOT/components/com_content/views/featured/default.php

magda_
25-09-2019, 14:49
<?php
/**
* @package Joomla.Site
* @subpackage com_content
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/

defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

JHtml::_('behavior.caption');

// If the page class is defined, add to class as suffix.
// It will be a separate class if the user starts it with a space
?>
<div class="blog-featured<?php echo $this->pageclass_sfx; ?>" itemscope itemtype="https://schema.org/Blog">
<?php if ($this->params->get('show_page_heading') != 0) : ?>
<div class="page-header">
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<?php if ($this->params->get('page_subheading')) : ?>
<h2>
<?php echo $this->escape($this->params->get('page_subheading')); ?>
</h2>
<?php endif; ?>
<?php $leadingcount = 0; ?>
<?php if (!empty($this->lead_items)) : ?>
<div class="items-leading clearfix">
<?php foreach ($this->lead_items as &$item) : ?>
<div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?> clearfix"
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<?php
$this->item = &$item;
echo $this->loadTemplate('item');
?>
</div>
<?php
$leadingcount++;
?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php
$introcount = count($this->intro_items);
$counter = 0;
?>
<?php if (!empty($this->intro_items)) : ?>
<?php foreach ($this->intro_items as $key => &$item) : ?>

<?php
$key = ($key - $leadingcount) + 1;
$rowcount = (((int) $key - 1) % (int) $this->columns) + 1;
$row = $counter / $this->columns;

if ($rowcount === 1) : ?>

<div class="items-row cols-<?php echo (int) $this->columns; ?> <?php echo 'row-' . $row; ?> row-fluid">
<?php endif; ?>
<div class="item column-<?php echo $rowcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?> span<?php echo round(12 / $this->columns); ?>"
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
<?php
$this->item = &$item;
echo $this->loadTemplate('item');
?>
</div>
<?php $counter++; ?>

<?php if (($rowcount == $this->columns) or ($counter == $introcount)) : ?>

</div>
<?php endif; ?>

<?php endforeach; ?>
<?php endif; ?>

<?php if (!empty($this->link_items)) : ?>
<div class="items-more">
<?php echo $this->loadTemplate('links'); ?>
</div>
<?php endif; ?>

<?php if ($this->params->def('show_pagination', 2) == 1 || ($this->params->get('show_pagination') == 2 && $this->pagination->pagesTotal > 1)) : ?>
<div class="pagination">

<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter pull-right">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>
<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>

</div>

siristru
25-09-2019, 18:16
Plik wygląda na nienaruszony.
Dobra, usuń te moje pliki, niech strona wróci do poprzedniego stanu. Daj mi znać.
Zobaczę jak wygląda poprawna struktura.
Mam już pewien wniosek ale poczekam jeszcze na te kroki.

Nie poddawaj się :) Każda nawet najdalsza droga zaczyna się od pierwszego kroku ;)

magda_
26-09-2019, 10:15
Tak też zrobiłam :)
Dzięki za Twój czas.
Pozdro
Magda

siristru
26-09-2019, 11:59
Dobra no to wychodzi na to, że używasz już jakiegoś zmodyfikowanego widoku: http://prntscr.com/pb75v7
W użyciu są klasy dla Bootstrap 4.

Co oznacza:

1. Albo masz plik ROOT/templates/benchen/html/com_content/featured/default.php

2. Albo plik jest zmodyfikowany w rdzeniu ROOT/components/com_content/view/tmpl/featured/default.php

Jeśli A to:

Pokaż zawartość pliku

Jeśli B to:

Już pokazałaś wyżej, że nie jest zmodyfikowany.

Zatem pytanie gdzie jest zrobiona modyfikacja widoku dla featured bo właśnie w tym pliku należy dodać mój kod.