WebsiteBaker Support (2.12.x) > Hilfe & Support (deutsch)
RSS und OFA
evaki:
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: ---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
--- End code ---
--- Code: ---<?php
$page_id = 6;
$section_id = 96;
$item_id = 1;
$item_sid = 96;
define("ITEM_ID", $item_id);
require("../../index.php");
?>
--- End code ---
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>
dbs:
--- Quote ---Woher weiß die obige Abfrage, dass es FIELD_2 nehmen soll?
--- End quote ---
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.
astricia:
--- Quote from: dbs on July 02, 2019, 03:31:29 PM ---Wahrscheinlich ist deine rss.php URL hinten mit &desc_id=2 oder
weiter oben im Script ist $iDescID = 2; definiert.
--- End quote ---
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.
--- End quote ---
Das habe ich probiert. Erst mal um das Datumsfeld mit auszugeben. So bin ich vorgegangen:
Weiter oben im Script zur Definition:
--- Code: --- $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'] : '';
--- End code ---
Hinter der bereits oben zitierten Schleife noch eine wie folgt:
--- Code: --- $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);
--- End code ---
Dann gibt es danach noch ein
--- Code: --- $description = OutputFilterApi('WbLink|ReplaceSysvar', $description);
--- End code ---
Da habe ich analog diese Zeile dahinter gesetzt:
--- Code: --- $date = OutputFilterApi('WbLink|ReplaceSysvar', $date);
--- End code ---
Und dann die Ausgabe wie folgt gestaltet:
--- Code: ---<description><![CDATA[<?php echo $description; ?> (<?php echo $date; ?>)]]></description>
--- End code ---
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?
dbs:
Das Problem ist die while Schleife durchläuft nur das Ergebnis von $result, nicht von $sDateField
--- Code: --- //Generating the news items
while ($item = $result->fetchRow( MYSQLI_ASSOC )) {
--- End code ---
Ich weiß leider nicht wie man das löst.
astricia:
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: --- 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);
--- End code ---
Dann wieder der Aufruf mit
--- Code: ---<description><![CDATA[<?php echo $description; ?> (<?php echo $date; ?>)]]></description>
--- End code ---
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
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version