Modul: Standard-Artikelliste Advanced v2.6.0
Re: Modul: Standard-Artikelliste Advanced v2.2.0
okay, habs gefunden.
Ich habe in allen anderen Artikeln keinen Text im Headlinecontent.
Vielen Dank nochmal für die tolle, schnelle unterstützung und gutes weiteres vorankommen.
Grüße,
stefkey
Ich habe in allen anderen Artikeln keinen Text im Headlinecontent.
Vielen Dank nochmal für die tolle, schnelle unterstützung und gutes weiteres vorankommen.
Grüße,
stefkey
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Hallo,
ich finde eine Funktion fehlt bei allen Artikellsiten noch.
Wenn ich nämlich sage, zeige von meiner primären Kategorie alle unterhalb dieser an, muss ich ja u.U. den Haken bei "Startartikel anzeigen" setzen. Dann werden von allen Kategorien die Startartikel angezeigt - wunderbar. Aber dummerweise auch der selbe Startartikel der meine Liste enthält und das will ich ja gar nicht. Es soll ja nicht nochmal der selbe Artikel dargestellt werden.
Kann man noch sagen, zeige Startartikel an aber nicht den eigenen?
MfG Steffen
ich finde eine Funktion fehlt bei allen Artikellsiten noch.
Wenn ich nämlich sage, zeige von meiner primären Kategorie alle unterhalb dieser an, muss ich ja u.U. den Haken bei "Startartikel anzeigen" setzen. Dann werden von allen Kategorien die Startartikel angezeigt - wunderbar. Aber dummerweise auch der selbe Startartikel der meine Liste enthält und das will ich ja gar nicht. Es soll ja nicht nochmal der selbe Artikel dargestellt werden.
Kann man noch sagen, zeige Startartikel an aber nicht den eigenen?
MfG Steffen
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Zeige Kategorien der Option "Ausgewähle" geht nicht
Ich glaube ich habe gerade ein Fehler gefunden!
Wenn ich in der Tempelatekonfiguration "Ausgewählte" auswähle und in der Box meine 3 Kategorien anklicke und speichere, gehen diese Markierungen verloren. Es wird dann auch automatisch wieder "keine" ausgewählt. Im frontend passiert auch nichts!
Kann das jemand bestätigen? Verwende die 2.2.0 auf Contenido 4.8.12!
Mfg Steffen
Wenn ich in der Tempelatekonfiguration "Ausgewählte" auswähle und in der Box meine 3 Kategorien anklicke und speichere, gehen diese Markierungen verloren. Es wird dann auch automatisch wieder "keine" ausgewählt. Im frontend passiert auch nichts!
Kann das jemand bestätigen? Verwende die 2.2.0 auf Contenido 4.8.12!
Mfg Steffen
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Tut mir Leid, aber den Fehler kann ich nicht bestätigen. Läuft bei mir einwandfrei.
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Mhm komisch.
Ich habe jetzt das nochmal frisch gedownloadet und installiert - einmal als package und einmal als reines Modul.
Sobald ich sage Zus. Kategorie und hier "Ausgewählte" markiere und mir drei anklicke und dann auf den Speichern-Haken kilcke sprigt er automatisch auf "Keine" zurück!
"Alle unterhalb primärer" funktionert! Ist ja ein Dine. Ich verwende auch das AMR-Plugin, dies ist aber gerade nicht aktiv! Na ich werde nochmal weiter testen, vielleicht ist es ein Cache-Problem oder so!
Aber nochmal eine andere Frage. Wie kann ich denn sage, wenn du der Artikel mit der Liste bist, zeige dich selbst in der liste nicht an!
Vielen Dank
MfG Steffen
Ich habe jetzt das nochmal frisch gedownloadet und installiert - einmal als package und einmal als reines Modul.
Sobald ich sage Zus. Kategorie und hier "Ausgewählte" markiere und mir drei anklicke und dann auf den Speichern-Haken kilcke sprigt er automatisch auf "Keine" zurück!
"Alle unterhalb primärer" funktionert! Ist ja ein Dine. Ich verwende auch das AMR-Plugin, dies ist aber gerade nicht aktiv! Na ich werde nochmal weiter testen, vielleicht ist es ein Cache-Problem oder so!
Aber nochmal eine andere Frage. Wie kann ich denn sage, wenn du der Artikel mit der Liste bist, zeige dich selbst in der liste nicht an!
Vielen Dank
MfG Steffen
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Hast Du das Modul öfter auf der Seite im Einsatz? Ich kann mich erinnern, dass bei der 1.3 das Problem bestand, dass in dem Fall, dass man das Modul öfter in einem Mandanten einsetzt, dieser Fehler auftrat (http://forum.contenido.org/viewtopic.php?p=71380#p71380). Ich weiß aber jetzt nicht, ob HerrB das Problem jemals gelöst hat.derSteffen hat geschrieben:Sobald ich sage Zus. Kategorie und hier "Ausgewählte" markiere und mir drei anklicke und dann auf den Speichern-Haken kilcke sprigt er automatisch auf "Keine" zurück!
Falls Du da nicht weiter kommst und das Modul nur einmal einsetzt, kann ich Dir anbieten mal drüber zu schauen. Schick mir die Zugangsdaten über PN wenn Du magst.derSteffen hat geschrieben:Na ich werde nochmal weiter testen
Im Normalfall ist der Artikel mit der Liste immer der Startartikel, also sollte es reichen wenn du "Startartikel Anzeigen" nicht anklickst. Falls Du den Artikel aber nicht als Startartikel deklariert hast, geht es nicht. Ich kann das höchsten mal für eine der nächsten Versionen mit auf die Wishlist setzen.derSteffen hat geschrieben:Aber nochmal eine andere Frage. Wie kann ich denn sage, wenn du der Artikel mit der Liste bist, zeige dich selbst in der liste nicht an!
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Re: Modul: Standard-Artikelliste Advanced v2.2.0
mehrere zusätzliche Kategorien auswählen funktioniert auch bei mir einwandfrei!
In der Template Vorkonfiguration sowie auch als Templatekonfiguration für einen Artikel.
Danke nochmal!
In der Template Vorkonfiguration sowie auch als Templatekonfiguration für einen Artikel.
Danke nochmal!
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Mhm,
ist ja ein Ding! Ich mache das zur Zeit noch lokal. Ich habe nur ein Mandanten. Das Modul ist auch nur einmal im Template mit drin. Meint Ihr es leigt an der functions.input.helper.php ? Ich verwende die functions.input.helper.php-Version 1.3! Gibt es was neueres?
MfG Steffen
ist ja ein Ding! Ich mache das zur Zeit noch lokal. Ich habe nur ein Mandanten. Das Modul ist auch nur einmal im Template mit drin. Meint Ihr es leigt an der functions.input.helper.php ? Ich verwende die functions.input.helper.php-Version 1.3! Gibt es was neueres?
MfG Steffen
Re: Modul: Standard-Artikelliste Advanced v2.2.0
ich hab zwar keine Ahnung, aber ich würde doch bei Problemen als ALLERERSTES überhaupt mal das Modul so installieren wie es in der Anleitung steht! Mit ALLEM was da steht, bevor ich hier Leute mit meinen Problemen beschäftige. Vielleicht hat ja die functions.input.helper.php damit nichts zu tun, aber trotzdem würde ich alles vorher mal testen.
Installier mal das Modul so wie es auch beschrieben ist, vielleicht funktioniert es ja dann.
Ich kann leider nicht helfen da ich keine PHP Kenntnisse habe, sorry.
Installier mal das Modul so wie es auch beschrieben ist, vielleicht funktioniert es ja dann.
Ich kann leider nicht helfen da ich keine PHP Kenntnisse habe, sorry.
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Stefkey,
danke für deine Hinweise!
ich wollte nur wissen ob es eine neue functions.input.helper.php-Version gibt?
Ich teste weiter und werde mein Ergebniss dann posten.
MfG Steffen
danke für deine Hinweise!
ich wollte nur wissen ob es eine neue functions.input.helper.php-Version gibt?
Ich teste weiter und werde mein Ergebniss dann posten.
MfG Steffen
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Hallo,
ist es Problematisch die Headline nur bis zu einem bestimmten Zeichen in der Liste auszugeben?
Beispiel:
Dies ist die Headline /// das ist auch noch Headline!
Und in der Artikeliste wird nur bis zum "///" ausgelesen. Also
Dies ist die Headline
balblabla... weiterlesen
Hab leider zu wenig PHP-Kenntnisse, ich vermute mal das man das im Outputmodul so um die Zeilen 5-600 machen muss.
Kann man das in einem 2-3 Zeiler abfragen und weiß das jemand gerade so aus dem Stehgreif?
Output:
ist es Problematisch die Headline nur bis zu einem bestimmten Zeichen in der Liste auszugeben?
Beispiel:
Dies ist die Headline /// das ist auch noch Headline!
Und in der Artikeliste wird nur bis zum "///" ausgelesen. Also
Dies ist die Headline
balblabla... weiterlesen
Hab leider zu wenig PHP-Kenntnisse, ich vermute mal das man das im Outputmodul so um die Zeilen 5-600 machen muss.
Kann man das in einem 2-3 Zeiler abfragen und weiß das jemand gerade so aus dem Stehgreif?
Output:
Code: Alles auswählen
<?php
# Initialization
$bDebug = false;
$iDataStart = 30;
$lCount = 0;
unset ($aData);
$aData = array();
# Base settings
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"] = "CMS_VALUE[1]";
$aSettings["SortBy"] = "CMS_VALUE[2]";
$aSettings["SortDir"] = "CMS_VALUE[3]";
$aSettings["ShowStart"] = "CMS_VALUE[4]";
$aSettings["Category"] = "CMS_VALUE[5]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"] = "CMS_VALUE[8]";
$aSettings["Elements"] = "CMS_VALUE[9]";
$aSettings["CatTypeSel"] = "CMS_VALUE[10]";
$aSettings["AddCats"] = "CMS_VALUE[11]";
$aSettings["DateType"] = "CMS_VALUE[13]";
$aSettings["Date"] = "CMS_VALUE[14]";
$aSettings["Template"] = "CMS_VALUE[15]";
$aSettings["PageBrowsingType01"] = "CMS_VALUE[16]";
$aSettings["PageBrowsingType02"] = "CMS_VALUE[17]";
$aSettings["PageBrowsingType03"] = "CMS_VALUE[18]";
$aSettings["PageBrowsingType04"] = "CMS_VALUE[19]";
$aSettings["PageBrowsingType05"] = "CMS_VALUE[20]";
$aSettings["UseUTF8"] = "CMS_VALUE[21]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0)
{
$aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0)
{
$aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if ($aSettings["ArticlePerPage"] == 0 || !is_numeric($_REQUEST["nextstep"]))
{
$_REQUEST["nextstep"] = 0;
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0)
{
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50)
{
$aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0)
{
$aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0)
{
$aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected"))
{
$aSettings["CatTypeSel"] = "none";
}
if ($aSettings["UseUTF8"] == "enabled")
{
# Needed functions for UTF8 and PHP4 - Posted by "laurynas.butkus@gmail.com" at http://us2.php.net/manual/de/function.html-entity-decode.php
######
# In PHP4 html_entity_decode() is not working well with UTF-8 spitting: "Warning: cannot yet handle MBCS in html_entity_decode()!".
# This is working solution combining several workarounds:
######
function html_entity_decode_utf8($string)
{
static $trans_tbl;
// replace numeric entities
$string = preg_replace('~&#x([0-9a-f]+);~ei', 'code2utf(hexdec("\\1"))', $string);
$string = preg_replace('~&#([0-9]+);~e', 'code2utf(\\1)', $string);
// replace literal entities
if (!isset($trans_tbl))
{
$trans_tbl = array();
foreach (get_html_translation_table(HTML_ENTITIES) as $val=>$key)
$trans_tbl[$key] = utf8_encode($val);
}
return strtr($string, $trans_tbl);
}
// Returns the utf string corresponding to the unicode value (from php.net, courtesy - romans@void.lv)
function code2utf($num)
{
if ($num < 128) return chr($num);
if ($num < 2048) return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
if ($num < 65536) return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
if ($num < 2097152) return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
return '';
}
}
# Detail settings
if ($aSettings["Elements"] > 0)
{
for ($i = 0; $i < $aSettings["Elements"]; $i++)
{
$iElementType = $iDataStart + ($i * 10);
$iElementIdentifier = $iElementType + 1;
$iElementWidth = $iElementType + 2;
$iElementHeight = $iElementType + 3;
$iElementUseSummary = $iElementType + 4;
/*$iElementPadding = $iElementType + 4;
$iElementImgAlign = $iElementType + 5;*/
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
$aSettings["k".$i]["Identifier"] = "CMS_VALUE[$iElementIdentifier]";
$aSettings["k".$i]["ElementWidth"] = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
$aSettings["k".$i]["ElementHeight"] = "CMS_VALUE[$iElementHeight]";
$aSettings["k".$i]["ForceSummaryUsage"] = "CMS_VALUE[$iElementUseSummary]";
/*$aSettings["k".$i]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";
$aSettings["k".$i]["ElementImgAlign"] = "CMS_VALUE[$iElementImgAlign]";*/
# Check detail settings
if ($aSettings["k".$i]["ElementType"] == "")
{
$aSettings["k".$i]["ElementType"] == "Text";
}
if ($aSettings["k".$i]["ElementType"] == "Text")
{
$aSettings["ElementHeight"] = 0;
if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0)
{
$aSettings["k".$i]["ElementWidth"] = 50;
}
}
elseif (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
!is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0)
{
$aSettings["k".$i]["ElementWidth"] = 0;
$aSettings["k".$i]["ElementHeight"] = 0;
}
if (strlen($aSettings["Identifier"]) > 50)
{
$aSettings["Identifier"] = "";
}
} // end for
}
unset ($iDataStart);
unset ($iElementType);
unset ($iElementIdentifier);
unset ($iElementWidth);
unset ($iElementHeight);
unset ($iElementUseSummary);
if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "")
{
if (!is_object($db2))
{
$db2 = new DB_Contenido;
}
# Specifying search categories
$sSelCats = "'".$aSettings["Category"]."'";
# Adding categories "below" primary category
switch ($aSettings["CatTypeSel"])
{
case "below":
$lCatLevel = -1;
$sql = "SELECT a.idcat AS idcat, b.level AS level FROM " . $cfg["tab"]["cat"] . " a, " . $cfg["tab"]["cat_tree"] . " b ";
$sql .= "WHERE a.idcat = b.idcat ORDER BY b.idtree";
$db2->query($sql);
while($db2->next_record())
{
if ($db2->f("idcat") == $aSettings["Category"])
{
$lCatLevel = $db2->f("level");
}
elseif ($lCatLevel > -1 && $db2->f("level") > $lCatLevel)
{
$sSelCats .= ",'" . $db2->f("idcat") . "'";
}
elseif ($db2->f("level") <= $lCatLevel)
{
break;
}
} // end while
break;
case "select":
$aCats = explode(",", $aSettings["AddCats"]);
foreach ($aCats as $value)
{
if (is_numeric($value))
{
$sSelCats .= ",'".$value."'";
}
}
break;
default:
} // end switch
$sql = "SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, 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 ";
$sql .= $cfg["tab"]["cat_art"] . " AS CATART, ";
$sql .= $cfg["tab"]["art_lang"] . " AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"] . " AS CATLANG, ";
$sql .= $cfg["tab"]["content"] . " AS tblData ";
$sql .= "WHERE CATART.idcat IN (" . $sSelCats . ") AND ARTLANG.idlang = '" . $lang . "' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled")
{
if ($cfg["is_start_compatible"] == true)
{
$sql .= "AND CATART.is_start = '0' ";
}
else
{
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND " . $aSettings["HeadlineIdentifier"] . " ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"] . " " . $aSettings["SortDir"] . " ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
}
// execute query
$db2->query($sql);
$lCount = $db2->num_rows();
if ($lCount > 0)
{
if (!is_object($db3))
{
$db3 = new DB_Contenido;
}
if (!is_object($db4))
{
$db4 = new DB_Contenido;
}
if ($aSettings["ArticlePerPage"] > 0)
{
$lStartCount = $_REQUEST["nextstep"];
$lEndCount = $_REQUEST["nextstep"] + $aSettings["ArticlePerPage"];
if ($lEndCount > $lCount)
{
$lEndCount = $lCount;
}
}
else
{
$lStartCount = 0;
$lEndCount = $lCount;
}
$lRow = 0;
$i = 0;
while ($db2->next_record())
{
if ( $aSettings["ShowStart"] == "enabled" ||
($aSettings["ShowStart"] != "enabled" && $db2->f("idartlang") != $lStartIDArtLang))
{
if ($lRow >= $lStartCount && $lRow < $lEndCount)
{
$aData[$i] = array();
$aData[$i]["Category"] = urldecode($db2->f("category"));
$aData[$i]["Link"] = $sess->url("front_content.php?idcat=".$db2->f("idcat")."&idart=".$db2->f("id"));;
$aData[$i]["LastModified"] = $db2->f("lastmodified");
$aData[$i]["Created"] = $db2->f("created");
$aData[$i]["Published"] = $db2->f("published");
# nachstehende Daten summary eingefügt
$aData[$i]["Summary"] = $db2->f("summary");
# nachstehende Daten pagetitle eingefügt
$aData[$i]["Pagetitle"] = $db2->f("pagetitle");
$sTmpValue = html_entity_decode(strip_tags(urldecode($db2->f('headline'))));
if ($aSettings["HeadlineLength"] > 0 && strlen($sTmpValue) > $aSettings["HeadlineLength"])
{
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["HeadlineLength"])."...");
}
$aData[$i]["Headline"] = $sTmpValue;
if ($aSettings["Elements"] > 0)
{
for ($k = 0; $k < $aSettings["Elements"]; $k++)
{
$aData[$i]["i".$k] = array();
$aData[$i]["i".$k]["Value"] = "";
$aData[$i]["i".$k]["ServerPath"] = "";
$aData[$i]["i".$k]["WebPath"] = "";
$aData[$i]["i".$k]["Width"] = 0;
$aData[$i]["i".$k]["Height"] = 0;
} // end for
$sql = "SELECT tblData.value AS value, tblData.idtype AS idtype, tblData.typeid AS typeid FROM ";
$sql .= $cfg["tab"]["cat_art"] . " AS tblCatArt, ";
$sql .= $cfg["tab"]["art_lang"] . " AS tblArtLang, ";
$sql .= $cfg["tab"]["content"] . " AS tblData ";
$sql .= "WHERE tblData.idartlang = tblArtLang.idartlang AND ";
$sql .= "tblArtLang.idlang = '" . $lang . "' AND ";
$sql .= "tblArtLang.idart = tblCatArt.idart AND ";
$sql .= "tblCatArt.idcatart = '" . $db2->f("idcatart") . "' AND (";
$sql_items = "";
for ($k = 0; $k < $aSettings["Elements"]; $k++)
{
if ($aSettings["k".$k]["Identifier"] != "")
{
if ($sql_items != "")
{
$sql_items .= " OR (" . $aSettings["k" . $k]["Identifier"] . ")";
}
else
{
$sql_items = "(" . $aSettings["k" . $k]["Identifier"] . ")";
}
}
} // end for
$sql .= $sql_items . ")";
if ($bDebug)
{
echo "<pre>" . $sql . "</pre>", chr(10);
}
// execute query
$db3->query($sql);
while ($db3->next_record())
{
$sTypeIdentifier = "tblData.idtype = '" . $db3->f('idtype') . "' AND tblData.typeid = '" . $db3->f('typeid') . "'";
# Note: The TypeIdentifier for one item may be the same as for another item.
# Therefore, we are storing the content everywhere as needed
for ($k = 0; $k < $aSettings["Elements"]; $k++)
{
if ($sTypeIdentifier == $aSettings["k".$k]["Identifier"])
{
switch (TRUE)
{
case ($aSettings["k" . $k]["ElementType"] == "Image" || $aSettings["k" . $k]["ElementType"] == "ExtractedImage"):
$sql = "";
if ($aSettings["k".$k]["ElementType"] == "Image")
{
$sql = "SELECT dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
$sql .= "WHERE idupl = '" . $db3->f('value') . "'";
}
else
{
$sTmpValue = urldecode($db3->f('value'));
$regEx = "/<img[^>]*?>.*?/i";
$match = array ();
preg_match($regEx, $sTmpValue, $match);
$regEx = "/(src)(=)(['\"]?)([^\"']*)(['\"]?)/i";
$img = array ();
preg_match($regEx, $match[0], $img);
$img_src = preg_split("/\//", $img[0]);
$img_name = $img_src[count($img_src) - 1];
$img_name = preg_replace("/\"/", "", $img_name);
#Don't know what is happening here, exactly...
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = strtolower($img_name);
#Don't know what is happening here, exactly...
#if (count($img_split2) > 1) {
# $img_x = $img_split2[count($img_split2) - 1];
# $img_y = $img_split2[count($img_split2) - 2];
# if (is_numeric($img_x) AND is_numeric($img_y)) {
# $suffix = "_".$img_x."_".$img_y.".".$img_type;
# $name = preg_replace("/$suffix/", "", $img_name);
# $name = $name.".[a-zA-Z]{3}";
# }
#}
if (strlen($name) > 0)
{
$sql = "SELECT dirname, filename FROM " . $cfg["tab"]["upl"] . " ";
$sql .= "WHERE LOWER(filename) = '$name'";
// $sql .= "WHERE filename REGEXP '$name'"; // Old: for 'banner.jpg' 'merlin_banner.jpg' is also returned
}
}
if ($bDebug)
{
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "")
{
$db4->query($sql);
if ($db4->next_record())
{
$aData[$i]["i" . $k]["ServerPath"] = $cfgClient[$client]["upl"]["path"] . $db4->f('dirname') . $db4->f('filename');
$aData[$i]["i" . $k]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"] . $db4->f('dirname') . $db4->f('filename');
list (
$width,
$height,
$type,
$attr
) = getimagesize($aData[$i]["i" . $k]["ServerPath"]);
$aData[$i]["i" . $k]["Width"] = $width;
$aData[$i]["i" . $k]["Height"] = $height;
}
}
break;
default:
if ($aSettings["UseUTF8"] != "enabled")
{
$sTmpValue = html_entity_decode(strip_tags(urldecode($db3->f('value'))));
}
else
{
$sTmpValue = html_entity_decode_utf8(strip_tags(urldecode($db3->f('value'))));
}
if ($aSettings["k" . $k]["ElementWidth"] > 0 && strlen($sTmpValue) > $aSettings["k" . $k]["ElementWidth"])
{
# Cutting text but preserving words and entities
$sTmpValue = htmlentities(capiStrTrimAfterWord($sTmpValue, $aSettings["k" . $k]["ElementWidth"]) . "...");
}
$aData[$i]["i".$k]["Value"] = $sTmpValue;
} // end switch
}
} // end for
} // end while
}
$i++;
}
elseif ($lRow == $lEndCount)
{
break;
}
$lRow++;
}
} // end while
# Clearing memory
unset ($db2);
unset ($db3);
unset ($db4);
unset ($sql);
unset ($lStartIDArtLang);
unset ($lStartCount);
unset ($lEndCount);
# Output data
# Every output manipulation should be done here...
#
# Base information:
# $aSettings["Elements"]: Number of expected, additional elements from each article
# $aSettings["ArticlePerPage"]: Number of articles per page (0: show all)
# $aSettings["k".$i]["ElementType"]: Per Element: Type of Element: Text, Image or ExtractedImage
# $aSettings["k".$i]["ElementWidth"]: Per Element: Text length or image width (-> recycling ...)
# $aSettings["k".$i]["ElementHeight"]: Per Element: Image width
# $aSettings["k".$i]["ForceSummaryUsage"]: Per Element:
#
# Per article:
# $aValue["Headline"]: Content of article element specified as containing the headline information
# $aValue["Link"]: Relative link to get to the listed article
# $aValue["LastModified"]: Last modified date of the article
# $aValue["Created"]: Created date of the article
# $aValue["Published"]: Published date of the article
# $aValue["Category"]: Category name
# $aValue["Summary"]: summary Zusammenfassung
# $aValue["Pagetitle"]: Seitentitel pagetitle
#
# Per article additional element:
# $aValue["i".$i]["Value"]: Text (only for text elements, otherwise "")
# $aValue["i".$i]["WebPath"]: HTTP... path to image
# $aValue["i".$i]["ServerPath"]: /server/... path to image
# $aValue["i".$i]["Width"]: >Original< image width
# $aValue["i".$i]["Height"]: >Original< image height
/* Init Template */
if (!is_object($tpl)) {
$tpl = new Template;
}
$tpl->reset();
$tpl->set('s', 'TITLE', $newsheadline);
foreach ($aData as $aValue)
{
$artlist_summary = $aValue["Summary"];
if ($aSettings["Elements"] > 0)
{
for ($i = 0; $i < $aSettings["Elements"]; $i++)
{
switch (TRUE)
{
case ($aSettings["k".$i]["ElementType"] == "Image" || $aSettings["k".$i]["ElementType"] == "ExtractedImage"):
$image = $aValue["i".$i]["WebPath"];
$width = $aValue["i" . $i]["Width"];
$height = $aValue["i" . $i]["Height"];
if ($aSettings["k" . $i]["ElementWidth"] > 0 && $aSettings["k" . $i]["ElementHeight"] > 0)
{
# Check, if resize necessary
if ( $aValue["i" . $i]["ServerPath"] != "" && file_exists($aValue["i" . $i]["ServerPath"]) &&
($aValue["i" . $i]["Width"] > $aSettings["k" . $i]["ElementWidth"] || $aValue["i" . $i]["Height"] > $aSettings["k" . $i]["ElementHeight"]))
{
# Scale image
$image = capiImgScale($aValue["i" . $i]["ServerPath"], $aSettings["k" . $i]["ElementWidth"], $aSettings["k" . $i]["ElementHeight"], false, false, 10, false);
#Get dimensions of the image
list (
$width,
$height,
$type,
$attr
) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
}
else
{
$image = $aValue["i" . $i]["WebPath"];
$width = $aValue["i" . $i]["Width"];
$height = $aValue["i" . $i]["Height"];
}
}
if ($image != "")
{
$artlist_image = '<img class="articlelistImage" src="' . $image . '" width="' . $width . '" height="' . $height . '" alt="' . mi18n("Article Thumb") . '" />'; // align="' . $aSettings["k" . $i]["ElementImgAlign"] . '" style="padding:' . $aSettings["k" . $i]["ElementPadding"] . ';"
}
else
{
$artlist_image = "";
}
$tpl->set('d', 'IMG_'.$i, $artlist_image);
break;
default: // Everything else is treated as "Text"
if ($artlist_summary != "" && $aSettings["k" . $i]["ForceSummaryUsage"] == "force")
{
$artlist_text = $artlist_summary;
$tpl->set('d', 'TEXT_'.$i, $artlist_text);
}
else
{
$artlist_text = $aValue["i" . $i]["Value"];
$tpl->set('d', 'TEXT_'.$i, $artlist_text);
}
#echo $artlist_text;
} // end switch
} // end for
}
$artlist_more = mi18n("More");
if($aSettings["DateType"] == "create")
{
$tmp_artlist_Date = strtotime($aValue["Created"]);
}
else
{
$tmp_artlist_Date = strtotime($aValue["Published"]);
}
if($aSettings["Date"] != "-1")
{
$artlist_lastmod = date($aSettings["Date"], $tmp_artlist_Date);
if(strlen($artlist_lastmod) > 12)
{
$artlist_lastmod = $artlist_lastmod . mi18n(" Uhr");
}
}
else
{
$artlist_lastmod = "";
}
$tpl->set('d', 'PAGELINK', $aValue["Link"]);
$tpl->set('d', 'PAGETITEL', $aValue["Pagetitle"]);
$tpl->set('d', 'HEADLINE', $aValue["Headline"]);
$tpl->set('d', 'DATE', $artlist_lastmod);
$tpl->set('d', 'MORE', $artlist_more);
$tpl->next();
} // end foreach
}
# Page browsing
# Hint: Number of max available records: $lCount
# Number of pages: round($lCount / $aSettings["ArticlePerPage"])
# First page: nextstep=0
# Last page: nextstep=(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"];
# (I have to admit that I'm not sure about the last page formula ... ;-) )
if ($aSettings["ArticlePerPage"] > 0)
{
$iPages = intval(ceil($lCount / $aSettings["ArticlePerPage"]));
# Example: Back and Next
$sPageBrowsingType01 = '';
if ($aSettings["PageBrowsingType01"] == "enabled")
{
if ($_REQUEST["nextstep"] > 0)
{
$sPageBrowsingType01 .= '<div class="articlelistBack">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '">' . mi18n("Back") . '</a>';
$sPageBrowsingType01 .= '</div>';
}
if (($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) < $lCount)
{
$sPageBrowsingType01 .= '<div class="articlelistNext">';
$sPageBrowsingType01 .= '<a href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '">' . mi18n("Next") . '</a>';
$sPageBrowsingType01 .= '</div>';
}
}
# Example: 1 2 3 4 5 6 7 ...
$sPageBrowsingType02 = '';
if ($aSettings["PageBrowsingType02"] == "enabled")
{
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageBrowsingType02 != '')
{
$sPageBrowsingType02 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType02 .= $i; # I'm on the current page, no link
}
else
{
$sPageBrowsingType02 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
}
}
# Example: Seite 1 von 7
$sPageBrowsingType03 = '';
if ($aSettings["PageBrowsingType03"] == "enabled")
{
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($sPageBrowsingType03 != '')
{
$sPageBrowsingType03 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType03 .= mi18n("Page") . ' ' . $i . ' ' . mi18n("of") . ' ' . $iPages; # I'm on the current page, no link
}
}
}
# Example: |< 1 ... 3 4 5 ... 8 >|
$sPageBrowsingType04 = '';
if ($aSettings["PageBrowsingType04"] == "enabled")
{
$sPageBrowsingType04 .= '<a class="articlelistBegin" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=0">' . mi18n("Begin") . ' |<</a>';
for ($i = 1; $i <= $iPages; $i++)
{
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages)
{
if ($sPageBrowsingType04 != '')
{
$sPageBrowsingType04 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType04 .= $i; # I'm on the current page, no link
}
else
{
$sPageBrowsingType04 .= '<a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
}
elseif ($_REQUEST["nextstep"] == $lNextStep)
{
$sPageBrowsingType04 .= ' ' . $i . "\n"; # I'm on the current page, no link
}
elseif ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"]))
{
# Front
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
elseif ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"]))
{
# Back
$sPageBrowsingType04 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $lNextStep . '">' . $i . '</a>';
}
elseif ($_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType04 .= '...';
}
}
$sPageBrowsingType04 .= ' <a class="articlelistEnd" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . (round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"] . '">>| ' . mi18n("End") . '</a>';
}
# Example: << < 1 ... 3 4 5 ... 8 > >>
// First Page
$sPageBrowsingType05 = '';
if ($aSettings["PageBrowsingType05"] == "enabled")
{
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
{
$sPageBrowsingType05 .= '<a class="articlelistBegin" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep=0" title="' . mi18n("Begin") . '">«</a> ';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= '« ';
}
// Previous Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == 0))
{
$sPageBrowsingType05 .= '<a class="articlelistPrevious" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] - $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Previous") . '">‹</a> ';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == 0) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= '‹ ';
}
for ($i = 1; $i <= $iPages; $i++) {
$lNextStep = ($i - 1) * $aSettings["ArticlePerPage"];
if ($i == 1 || $i == $iPages) {
if ($sPageBrowsingType05 != '') {
$sPageBrowsingType05 .= ' ';
}
if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageBrowsingType05 .= $i; # I'm on the current page, no link
} else {
$sPageBrowsingType05 .= '<a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
}
} else if ($_REQUEST["nextstep"] == $lNextStep) {
$sPageBrowsingType05 .= ' '.$i; # I'm on the current page, no link
} else if ($_REQUEST["nextstep"] == ($lNextStep + $aSettings["ArticlePerPage"])) {
# Forward
$sPageBrowsingType05 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
} else if ($_REQUEST["nextstep"] == ($lNextStep - $aSettings["ArticlePerPage"])) {
# Back
$sPageBrowsingType05 .= ' <a class="articlelistPageNumber" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.$lNextStep.'">'.$i.'</a>';
} else if ( $_REQUEST["nextstep"] == ($lNextStep - (2 * $aSettings["ArticlePerPage"])) ||
$_REQUEST["nextstep"] == ($lNextStep + (2 * $aSettings["ArticlePerPage"]))) {
$sPageBrowsingType05 .= '...';
}
}
// Next Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . ($_REQUEST["nextstep"] + $aSettings["ArticlePerPage"]) . '" title="' . mi18n("Next") . '">›</a>';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' ›';
}
else
{
$sPageBrowsingType05 .= ' <a class="articlelistNext" href="front_content.php?idcat=' . $idcat . '&idart=' . $idart . '&nextstep=' . $aSettings["ArticlePerPage"] . '" title="' . mi18n("Next") . '">›</a>';
}
// Last Page
if (isset($_GET['nextstep']) && !(($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])) || !isset($_GET['nextstep']))
{
$sPageBrowsingType05 .= ' <a class="articlelistEnd" href="front_content.php?idcat='.$idcat.'&idart='.$idart.'&nextstep='.(round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"].'" title="' . mi18n("End") . '">»</a>';
}
elseif (isset($_GET['nextstep']) && (($_GET['nextstep']) == ((round($lCount / $aSettings["ArticlePerPage"]) - 1) * $aSettings["ArticlePerPage"])))
{
$sPageBrowsingType05 .= ' »';
}
}
}
$tpl->set('s', 'PAGEBROWSINGTYPE01', $sPageBrowsingType01);
$tpl->set('s', 'PAGEBROWSINGTYPE02', $sPageBrowsingType02);
$tpl->set('s', 'PAGEBROWSINGTYPE03', $sPageBrowsingType03);
$tpl->set('s', 'PAGEBROWSINGTYPE04', $sPageBrowsingType04);
$tpl->set('s', 'PAGEBROWSINGTYPE05', $sPageBrowsingType05);
$tpl->generate($aSettings["Template"]);
}
# Clearing memory
unset ($aData);
unset ($aSettings);
unset ($i);
unset ($lCount);
unset ($bDebug);
?>
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Hallo,
danke für das toole Modul.
Leider habe ich mit Polnischen umlauten (UTF8-Codiert) ein Problem das diese nicht richtig angezeigt werden.
Die Ansicht in den Artikel selber passt, nur wenn die gleichen Artikel über die Artikelliste laufen lasse, dann werden die Polnischen Buchstaben ( ł , ć, ś , ń, ż, ó, ę) falsch dargestellt.
Kann mir jemand helfen?
Verwende Contenido 4.8.12 Mandantsprache Polnisch, UTF8.
danke für das toole Modul.
Leider habe ich mit Polnischen umlauten (UTF8-Codiert) ein Problem das diese nicht richtig angezeigt werden.
Die Ansicht in den Artikel selber passt, nur wenn die gleichen Artikel über die Artikelliste laufen lasse, dann werden die Polnischen Buchstaben ( ł , ć, ś , ń, ż, ó, ę) falsch dargestellt.
Kann mir jemand helfen?
Verwende Contenido 4.8.12 Mandantsprache Polnisch, UTF8.
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Hast Du "UTF8 Codierung benutzen" ausgewählt?
tiago.de | adk-msi.de | iseringhausen.de | the-iseringhausen.de
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Manchmal glaube ich, der beste Beweis dafür, dass es anderswo im Weltall intelligentes Leben gibt, ist der, dass noch niemand versucht hat, Kontakt zu uns aufzunehmen. (Calvin & Hobbes)
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Klar, bringt aber gar nix.
update:
Wenn ich das Häckchen bei "Use UTF8 decoding:" setze, ich es beim nächsten Aufruf wieder weg!
Ist das normal`?
update2:
Hier sind noch paar Serverdaten:
Server Betriebssystem Apache/2.2.9 (Debian)
Datenbankserver-Version 5.0.51a-24+lenny2
Installierte PHP-Version 5.2.6-1+lenny3
update:
Wenn ich das Häckchen bei "Use UTF8 decoding:" setze, ich es beim nächsten Aufruf wieder weg!
Ist das normal`?
update2:
Hier sind noch paar Serverdaten:
Server Betriebssystem Apache/2.2.9 (Debian)
Datenbankserver-Version 5.0.51a-24+lenny2
Installierte PHP-Version 5.2.6-1+lenny3
Re: Modul: Standard-Artikelliste Advanced v2.2.0
Weist hier wirklich keiner eine Lösung des Problems?
Oder wenigstens ein Tipp woran es liegen konnte...
Oder wenigstens ein Tipp woran es liegen konnte...