Author Topic: RSS und OFA  (Read 7169 times)

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #50 on: June 28, 2019, 12:45:45 PM »
Den Vorschlag mit Anyitems-Umbau ab ich jetzt mal probiert. Da kommt dann erst mal folgende Fehlermeldung:

Code: [Select]
There was an uncatched exception
malformed document created
in line (67) of (/modules/output_filter/filters/filterCssToHead.php):

Liegt am Blank Template?

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #51 on: June 28, 2019, 12:49:13 PM »
Ansonsten - bei Uwe persönlich vorbeischauen ist wohl aufgrund der Entfernung nicht möglich.

Da es sich um ein Kundenprojekt handelt, ist da also durchaus Budget vorhanden. Wenn sich dem jemand annehmen möchte, und dafür entsprechend bezahlt werden möchte, dann sagt mir das einfach... das sollte kein Problem sein! Hauptsache, Kunde ist glücklich und die Website kann dann bald auch freigeschaltet werden....

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #52 on: June 28, 2019, 01:00:21 PM »
Die Fehlermeldung sagt was von filterCssToHead. Könntest du nach suchen dann.
Würdest du einiges finden, unter anderem dies:
https://forum.WebsiteBaker.org/index.php/topic,31518.msg220540.html#msg220540

War ja auch nur eine Idee mit dem Snippet. Ob es geht habe ich nicht probiert.
Stattdessen hatte ich versucht die Snippet Funktion in der rss.php aufzurufen. Das ging nur teilweise.

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #53 on: June 28, 2019, 07:51:31 PM »
Vergiss das mal wieder mit der Seite und dem Snippet.

Das Snippet in der rss.php geht, aber nur zu 80%.
- Droplets werden nicht aufgelöst.
- Das Bild aus Media wird nicht gefunden, weil der Pfad nicht den Medienordner enthält.

Läuft wohl doch auf Uwes Lösung raus.

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #54 on: July 02, 2019, 08:44:03 AM »
Ich versuche jetzt mal die rss-ofa.php zu verstehen, die ich aktuell einsetze.

Das Description-Feld wird wie folgt mit Inhalt gefüllt:
Code: [Select]
            $sql='SELECT `value` FROM `'.TABLE_PREFIX.'mod_'.$mod_name.'_item_fields` '
              .  'WHERE `field_id` = '.(int)$iDescID.' '
              .  'AND `item_id` = '.(int)$item['item_id'].' ';
            $sDescriptionField = $database->get_one($sql);
            $description = (!$iDescID ? stripslashes($item['description']) : $sDescriptionField);

und anschließend

Code: [Select]
<description><![CDATA[<?php echo $description?></description>
Damit kommt genau der Inhalt des [FIELD_2] in den description-Tag. Woher weiß die obige Abfrage, dass es FIELD_2 nehmen soll? FIELD_4 ist auch ein WYSIWIG-Feld, es gibt insgesamt 4 Felder... ? Kann ich nicht eine weitere Abfrage einbauen, die auf die anderen Felder abzielt und diese dann auch in den Description-Tag setzen?

LG,
Astrid

Offline evaki

  • Posts: 2810
Re: RSS und OFA
« Reply #55 on: July 02, 2019, 02:26:56 PM »
Dies ist keine Antwort auf die Aufgabenstellung.

Hatte noch nie OFA in Gebrauch, aber nun... - aber nur mal um reinzuschauen.
Das war's aber auch schon, nach der Meldung:
Code: [Select]
Warning: require(../../index.php): failed to open stream: No such file or directory in
\html\reserviert02\august-von-der-basis.php on line 7

Fatal error: require(): Failed opening required '../../index.php' (include_path='.;\PHP\PEAR;\PHP') in
\html\reserviert02\august-von-der-basis.php on line 7

Code: [Select]
<?php
$page_id    
6;
$section_id 96;
$item_id    1;
$item_sid   96;
define("ITEM_ID",  $item_id);
require(
"../../index.php");
?>

OFA 2.0.2.23 / WB2.12.1
Welche Anwendung nun den Fehler (Pfad zur index) verursacht - keene Ahnung.

ps. <description><![CDATA[<?php echo $description; ?></description>
      <description><![CDATA[<?php echo $description; ?>]]></description>
« Last Edit: July 02, 2019, 02:37:49 PM by evaki »

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #56 on: July 02, 2019, 03:31:29 PM »
Quote
Woher weiß die obige Abfrage, dass es FIELD_2 nehmen soll?
Wahrscheinlich ist deine rss.php URL hinten mit &desc_id=2  oder
weiter oben im Script ist $iDescID = 2; definiert.

Diese Abfrage holt genau 1 Ergebnis wegen $database->get_one($sql). Soll es mehr holen brauchts wieder eine Schleife um alles auszugeben. Oder so.

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #57 on: July 02, 2019, 04:26:03 PM »
Wahrscheinlich ist deine rss.php URL hinten mit &desc_id=2  oder
weiter oben im Script ist $iDescID = 2; definiert.

Ja, genau. Die Abfrage läuft über .../rss-ofa.php?page_id=40&desc_id=2

Quote
Diese Abfrage holt genau 1 Ergebnis wegen $database->get_one($sql). Soll es mehr holen brauchts wieder eine Schleife um alles auszugeben. Oder so.

Das habe ich probiert. Erst mal um das Datumsfeld mit auszugeben. So bin ich vorgegangen:
Weiter oben im Script zur Definition:
Code: [Select]
    $iDescID    =  (isset($_GET['desc_id']) AND is_numeric($_GET['desc_id'])) ? $_GET['desc_id'] : '';
    $iDateID    =  (isset($_GET['date_id']) AND is_numeric($_GET['date_id'])) ? $_GET['date_id'] : '';

Hinter der bereits oben zitierten Schleife noch eine wie folgt:
Code: [Select]
            $sql='SELECT `value` FROM `'.TABLE_PREFIX.'mod_'.$mod_name.'_item_fields` '
              .  'WHERE `field_id` = '.(int)$iDateID.''
              .  'AND `item_id` = '.(int)$item['item_id'].' ';
            $sDateField = $database->get_one($sql);
            $date = (!$iDateID ? stripslashes($item['date']) : $sDateField);

Dann gibt es danach noch ein
Code: [Select]
            $description = OutputFilterApi('WbLink|ReplaceSysvar', $description);Da habe ich analog diese Zeile dahinter gesetzt:
Code: [Select]
            $date = OutputFilterApi('WbLink|ReplaceSysvar', $date);
Und dann die Ausgabe wie folgt gestaltet:
Code: [Select]
<description><![CDATA[<?php echo $description?> (<?php echo $date?>)]]></description>
Laut meiner Logik müsste ein Aufruf mit
.../rss-ofa.php?page_id=40&desc_id=2&date_id=4
jetzt das Datum in Klammern dahintersetzen.

Tut es aber nicht. Die Klammern werden aufgerufen, bleiben aber ohne Inhalt.

Was habe ich falsch gemacht?

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #58 on: July 02, 2019, 07:51:12 PM »
Das Problem ist die while Schleife durchläuft nur das Ergebnis von $result, nicht von $sDateField
Code: [Select]
     //Generating the news items
     while ($item = $result->fetchRow( MYSQLI_ASSOC )) {

Ich weiß leider nicht wie man das löst.

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #59 on: July 03, 2019, 08:06:25 AM »
Stimmt, so lautet der Schleifenaufruf. Aber dieses $result wird ja nie wieder verwendet..? Wie kommt denn die erste description-Schleife dann zu ihrem Inhalt?

Ich hab jetzt gedacht, vielleicht liegt es auch daran, dass ich beide Male $sql als Variable genommen habe. Habe das jetzt für das Datumsfeld umbenannt, und beide Schleifen auch direkt hintereinander gesetzt. Also

Code: [Select]
        while ($item = $result->fetchRow( MYSQLI_ASSOC )) {
            // switch between group description and field description
            $sql='SELECT `value` FROM `'.TABLE_PREFIX.'mod_'.$mod_name.'_item_fields` '
              .  'WHERE `field_id` = '.(int)$iDescID.' '
              .  'AND `item_id` = '.(int)$item['item_id'].' ';
            $sql4='SELECT `value` FROM `'.TABLE_PREFIX.'mod_'.$mod_name.'_item_fields` '
              .  'WHERE `field_id` = '.(int)$iDateID.''
              .  'AND `item_id` = '.(int)$item['item_id'].' ';             
            $sDescriptionField = $database->get_one($sql);
            $description = (!$iDescID ? stripslashes($item['description']) : $sDescriptionField);
            $sDateField = $database->get_one($sql4);
            $date = (!$iDateID ? stripslashes($item['date']) : $sDateField); 

Dann wieder der Aufruf mit
Code: [Select]
<description><![CDATA[<?php echo $description?> (<?php echo $date?>)]]></description>
Die Klammer ist leider immer noch leer. $date hat keinen Inhalt. Warum nicht???

Menno.. ich bin halt kein Programmierer. Weiß denn niemand, wie das geht?

Büddeeee....

LG,
Astrid


Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #60 on: July 03, 2019, 10:09:20 AM »
Nochmal anderer Versuch.
Die angehängte rss ruft Snippet oneforall_anyitems auf.
Am Anfang der Datei kannst page_id und section_id vergeben oder schickst das in der URL mit.
In der include vom Snippet sollte dein loop also enthalten was du möchtest.

Könntest auch mal deine rss anhängen, sieht für mich so aus als ob du was anderes hast als ich.

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #61 on: July 03, 2019, 10:39:01 AM »
Habe dein Snippet versucht, kriege folgende Fehlermeldung:

Code: [Select]
Parse error: syntax error, unexpected ''); ' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ')' in /...../rss-dbs2.php on line 51

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #62 on: July 03, 2019, 10:58:43 AM »
Ist mir schleierhaft.
In Zeile 28 habe ich versehentlich noch den block $_GET['page_id'] auskommentiert.
Mach den mal wieder wirksam.

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #63 on: July 03, 2019, 11:58:57 AM »
Das bringt keinen Unterschied. Wo soll ich das snippet denn eigentlich reinsetzen? Ich habe das jetzt in den Modul-Ordner des OFA-Moduls reinkopiert (wo auch die vorige rss-ofa.php drin stand..). Muss das woanders hin, oder ist das egal?

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #64 on: July 03, 2019, 12:22:41 PM »
Noch zu deiner Frage...

Könntest auch mal deine rss anhängen, sieht für mich so aus als ob du was anderes hast als ich.

Ich hatte das, was Uwe mir in diesem Beitrag angehängt hatte:
https://forum.WebsiteBaker.org/index.php/topic,31424.msg219678.html#msg219678


Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #65 on: July 03, 2019, 12:27:32 PM »
In Zeile 51 steht ja das Folgende:
Code: [Select]
require($inc_path.'/convert.php');
Wo kommt denn das convert.php her??? Was soll das sein?

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #66 on: July 03, 2019, 12:35:24 PM »
Hmm, habe den Inhalt deines Snippets jetzt noch mal neu eingefügt - vielleicht hatte ich ja einen Übertragungsfehler.

Page-ID und Section-ID habe ich angepasst. Jetzt kommt folgender Fehler auf einer gelben Seite:

Code: [Select]
XML-Verarbeitungsfehler: Kein Wurzel-Element gefunden
Adresse: http://.../rss-dbs2.php
Zeile Nr. 16, Spalte 1:
^

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #67 on: July 03, 2019, 12:57:52 PM »
die rss.php kommt dahin wo die andere auch ist, ins OFA modul.
Mit Snippet meine ich oneforall_anyitems, das hast du sicherlich installiert, oder?
Mit den richtigen page_id und section_id sollte schon was zu sehen sein.

In der include.php vom Snippet oneforall_anyitems müsstest du $header und $footer noch leer machen.

Dachte eigentlich du duplizierst dir das Snippet, benennst es um und installierst unter anderem namen.
Dann müsstest auch in der rss unten den Aufruf ändern zum neuen Snippetnamen.

convert.php ändert wohl den Bindestrich im Modulnamen zu Unterstrich.
Hast mal auskommentiert die Zeile?

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #68 on: July 03, 2019, 05:03:25 PM »
Habe eine extra oneforall_anyitems erstellt, die rss heißt. Das habe ich in Zeile 92 der rss-dbs2.php auch so geändert - richtig? Bei der include.php von rss habe ich darauf geachtet, dass header und footer leer sind.

Trotzdem bekomme ich in Firefox diese Fehlermeldung:
Code: [Select]
XML-Verarbeitungsfehler: Kein Wurzel-Element gefunden
Adresse: http://.../rss-dbs2.php
Zeile Nr. 16, Spalte 1:
^

In Chrome sieht das anders aus, aber nicht besser:
Code: [Select]
This page contains the following errors:
error on line 15 at column 50: Extra content at the end of the document
Below is a rendering of the page up to the first error.
PAGE_TITLE - ... PAGE_DESCRIPTION ...  WebsiteBaker CMS There was an uncatched exception Call to a member function numRows() on null in line (90) of (/modules/rss/include.php):

Kannste dir auch gerne selbst angucken. Der rss-Aufruf ist wie folgt:
http://neu.management-kommunikation.de/modules/topnews/rss-dbs2.php

Offline evaki

  • Posts: 2810
Re: RSS und OFA
« Reply #69 on: July 03, 2019, 05:17:15 PM »
Na, dann noch eine hinterher  :-D
XML-Interpretation fehlgeschlagen
Code: [Select]
XML-Interpretation fehlgeschlagen: Syntaxfehler (Zeile: 16, Zeichen: 0)

Dokument als HTML neu analysieren.
Fehler:
unexpected end-of-file
Spezifikation:
http://www.w3.org/TR/REC-xml/
 13: There was an uncatched exception<br />
 14: Call to a member function numRows() on null<br />
 15: in line (90) of (/modules/rss/include.php):<br />

MfG. Evaki

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #70 on: July 03, 2019, 05:53:42 PM »
Darf ich fragen was in der include.php oben steht?
Code: [Select]
// Function to display featured events of the events module (invoke function from template or code page)
if (!function_exists('oneforall_anyitems')) {
    function oneforall_anyitems(...

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #71 on: July 04, 2019, 07:50:29 AM »
Da steht dies:
Code: [Select]
// Function to display featured events of the events module (invoke function from template or code page)
if (!function_exists('rss')) {
function rss($section_id, $num_of_items = 100, $order = true) {

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #72 on: July 04, 2019, 07:55:43 AM »
Und die angemäkelte Zeile 90 der include.php ist die folgende:

Code: [Select]
if ($query_fields->numRows() > 0) {
Die sieht in anderen OFA-Anyitems-Modulen genauso aus, daran habe ich auch nichts verändert.

Offline dbs

  • Betatester
  • **
  • Posts: 8147
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: RSS und OFA
« Reply #73 on: July 04, 2019, 08:25:30 AM »
OK, neuer Versuch.
Im Anhang mein Snippet ofa_rss.zip (wie oneforall_anynews) und
ofa_rss.php (kommt in oneforall Ordner)
Aufruf in der index:
Code: [Select]
<link rel="alternate" type="application/rss+xml" title="OFA_RSS-Feed Test" href="<?php echo WB_URL?>/modules/oneforall/ofa_rss.php" />
page_id und section_id wieder in der ofa_rss.php anpassen oder in der URL mitsenden.

In dem Snippet wird der loop nicht in der include erstellt, sondern in extra tempates. Du kannst das also anpassen in ofa_rss/templates/rss.
Ein anderes Templates kannst du nutzen, wenn du in der ofa_rss.php unten das snippet anders aufrufst:
Code: [Select]
<?php 
        
// Item loop
        
ofa_rss($section_id$num_of_items=5$order 'ASC'$template 'anderes_templates-statt-rss'); 

Offline astricia

  • Posts: 725
  • Gender: Female
    • netSchmiede24
Re: RSS und OFA
« Reply #74 on: July 04, 2019, 08:45:38 AM »
Getestet. Bringt keinen Unterschied. Siehe hier:
http://neu.management-kommunikation.de/modules/topnews/ofa_rss.php

Das "fehlende Wurzelelement" deutet darauf hin, dass das <?xml ... ?> fehlt?