Verfasst: Mi 1. Mär 2006, 00:41
@ HerrB:
Kannst du etwas zum Bug bei der Blätterfunktion sagen?
Kannst du etwas zum Bug bei der Blätterfunktion sagen?
Das Diskussionsforum zum Open Source Content Management System
https://forum.contenido.org/
Code: Alles auswählen
$iPages = intval($lCount / $aSettings["ArticlePerPage"]);Code: Alles auswählen
# Example: 1 2 3 4 5 6 7 ...
$mitKomma = $lCount / $aSettings["ArticlePerPage"];
$mitKommaInt = round($lCount / $aSettings["ArticlePerPage"]);
if( $mitKomma > $mitKommaInt ) {
$iPages = $mitKommaInt+1;
} elseif( $mitKomma == $mitKommaInt ) {
$iPages = $mitKommaInt;
} else {
$iPages = $mitKommaInt;
}
$sPageLinks = '';
echo ' <div id="Pages">';
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["skip"] == $lNextStep) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip='.$lNextStep.'">'.$i.'</a>'."\n";
}
}
echo ' '.$sPageLinks."\n";
echo ' </div>'."\n";Code: Alles auswählen
# Example: |< 1 ... 3 4 5 ... 8 >|
#$iPages = intval($lCount / $aSettings["ArticlePerPage"]);
$mitKomma = $lCount / $aSettings["ArticlePerPage"];
$mitKommaInt = round($lCount / $aSettings["ArticlePerPage"]);
if( $mitKomma > $mitKommaInt ) {
$iPages = $mitKommaInt+1;
} elseif( $mitKomma == $mitKommaInt ) {
$iPages = $mitKommaInt;
} else {
$iPages = $mitKommaInt;
}
$sPageLinks = '';
echo ' <div id="Pages">'."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip=0">|<</a>'."\n";
for ($i = 1; $i <= $iPages; $i++) {
$lskip = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages) {
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["skip"] == $lskip) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip='.$lskip.'">'.$i.'</a>'."\n";
}
} else if ($_REQUEST["skip"] == $lskip) {
$sPageLinks .= ' '.$i."\n"; # I'm on the current page, no link
} else if ($_REQUEST["skip"] == ($lskip + $aSettings["ArticlePerPage"])) {
# Front
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip='.$lskip.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["skip"] == ($lskip - $aSettings["ArticlePerPage"])) {
# Back
$sPageLinks .= ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip='.$lskip.'">'.$i.'</a>'."\n";
} else if ($_REQUEST["skip"] == ($lskip - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["skip"] == ($lskip + (2 * $aSettings["ArticlePerPage"]))) {
$sPageLinks .= '...';
}
}
echo ' '.$sPageLinks."\n";
echo ' <a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&skip='.($iPages - 1) * $aSettings["ArticlePerPage"].'">>|</a>'."\n";
echo ' </div>'."\n";Na das stimmt ja nicht ganz, gelle?!HerrB hat geschrieben: Diese SQL-Statements werden direkt in die SQL-Abfrage integriert. Da nützt Dir aber kein SQL-Statement zu einer Artikel-Eigenschaft etwas, da diese nicht in der gleichen Art in der DB gespeichert sind (sondern wirklich als Spalten in einer Tabelle, con_art_lang, denke ich).
Um an diese Informationen zu kommen, musst Du das einleitende SQL-Statement im Output um die Angaben ergänzen und sie im Array speichern. Als Beispiel sei die Übergabe der Datumsangaben genannt (last_modified).
Gruß
HerrB
Code: Alles auswählen
if (is_numeric($lIDCatArt) && $lIDCatArt > 0) {
$sql = "SELECT
a.typeid AS typeid,
a.value AS value,
a.idtype AS idtype,
#b.title AS title,
#b.pagetitle AS pagetitle,
d.type AS type,
d.description AS description
FROM
".$cfg["tab"]["content"]." AS a,
".$cfg["tab"]["art_lang"]." AS b,
".$cfg["tab"]["cat_art"]." AS c,
".$cfg["tab"]["type"]." AS d
WHERE
a.idtype = d.idtype AND
a.idartlang = b.idartlang AND
b.idart = c.idart AND
b.idlang = '".$lang."' AND ";
if ($sTypeRange != "") {
$sql .= "a.idtype IN (".$sTypeRange.") AND ";
}
$sql .= " c.idcatart = '".$lIDCatArt."'
ORDER BY a.idtype, a.typeid";
$db2->query($sql);
Ach?Na das stimmt ja nicht ganz, gelle?!
Zur Erinnerung. Es ist Dein Code!
Ich habe genau das geschrieben:Du bindest hier doch eh die con_art_lang ein. Da könnte man doch einfach title und / oder pagetitle draus nehmen, oder?!
D.h. aus dem fncGetType usw. wird ein Form-select-Element, welches als Rückgabewert "WertA = 1 und WertB = 2" ergibt - dieses wird in die SQL-Abfrage integriert. WertA und WertB beziehen sich aber auf die Detail-Felder (CMS_TEXT usw.). Die Aussage war, dass an dieser Stelle des SQL-Statements kein SQL-Teil-Statement integriert werden kann, welches die Auswahl der gewünschten Felder ermöglicht (denn diese Felder werden - wie bereits von Dir korrekt wiedergegeben - am Anfang bei SELECT benötigt).Diese SQL-Statements werden direkt in die SQL-Abfrage integriert.
Da nützt Dir aber kein SQL-Statement zu einer Artikel-Eigenschaft etwas, da diese nicht in der gleichen Art in der DB gespeichert sind (sondern wirklich als Spalten in einer Tabelle, con_art_lang, denke ich).
Um an diese Informationen zu kommen, musst Du das einleitende SQL-Statement im Output um die Angaben ergänzen und sie im Array speichern.
Ähm, man benötigt entweder Checkboxen oder eine Multi-Select-Box, um die Felder auswählen zu können, die im SELECT-Statement als Feld ermittelt werden sollen. TypeOfBuildTypeSelect sehe ich da nicht so.Aber ich gebe Dir Recht. Eine Klasse fncGetTypeOfBuildTypeSelect wäre hier angebrachter. Quasi als Weiche ob die Daten nun aus einem Contentelement gebaut werden sollen oder aus Atikeleigenschaften.
Code: Alles auswählen
$sql = "SELECT tblData.value AS headline, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;Hat bei mir nicht geklappt. Habe die Variablen des Codes geändert.HerrB hat geschrieben:Ähm i-fekt, zum einen hat Dein Code wenig mit meinem Modul zu tun (es gibt keine Variable $angezeigteAnzahl), zum anderen sollte gerade die ceil-Funktion genau diese Berechnung in der benötigten Art und Weise durchführen (in einer Zeile).
Code: Alles auswählen
# Example: 1 2 3 4 5 6 7 ...
$mitKomma = $lCount / $aSettings["ArticlePerPage"];
$mitKommaInt = round($lCount / $aSettings["ArticlePerPage"]);
if( $mitKomma > $mitKommaInt ) {
$iPages = $mitKommaInt+1;
} elseif( $mitKomma == $mitKommaInt ) {
$iPages = $mitKommaInt;
} else {
$iPages = $mitKommaInt;
}
$sPageLinks = '';
echo ' <div id="Pages">';
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageLinks != '') {
$sPageLinks .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageLinks .= $i."\n"; # I'm on the current page, no link
} else {
$sPageLinks .= '<a href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>'."\n";
}
}
echo ' '.$sPageLinks."\n";
echo ' </div>'."\n";
Ähm .. ja es ist ein Bug. Also hatte das gleiche Problem bei der 1,2,3,4er Variante. Miti-fekt hat geschrieben:Hat bei mir nicht geklappt. Habe die Variablen des Codes geändert.HerrB hat geschrieben:Ähm i-fekt, zum einen hat Dein Code wenig mit meinem Modul zu tun (es gibt keine Variable $angezeigteAnzahl), zum anderen sollte gerade die ceil-Funktion genau diese Berechnung in der benötigten Art und Weise durchführen (in einer Zeile).
Ähm, Mikk, müsste es nicht ceil sein?Aber Herr B. hat die Lösung schon vorgegeben >> nimm die Funktion round() dann passt es. Vielleicht sollte man das beim Modul ändern HerrB.
Mmmh, ups, habe ich ganz vergessen, denke ich. Dazu einfach mal in die DB gucken, wo z.B. die Zusammenfassung gespeichert ist und das Feld in diese Abfrage:Ich würde gerne einen anderen Anzeigetext als Teaser haben. Da ich ja über die Konfiguration einstellen kann, was als Teaser verwendet werden soll, bräuchte ich nur einen Tipp, wie ich in der News selbst einen Textfeld erstelle, das nur im Backend beim Artikeleingeben angezeigt wird.
Code: Alles auswählen
$sql = "SELECT tblData.value AS headline, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";Code: Alles auswählen
$aData[$i]["Category"] = urldecode($db2->f("category"));Code: Alles auswählen
$aData[$i]["summary"] = urldecode($db2->f("<selbst ermitteln, wie das Feld heißt>"));HAHAHA, ich habe zuerst "Ich will ein Kind von dir" gelesen, und ich fragte mich, wie das gehen soll.JSommer hat geschrieben:HerrB ich will ich Kind von Dir