tolles statment das ihm sicherlich weiterhelfen wirdi-fekt hat geschrieben:Davon rate ich stark ab.rezeptionist hat geschrieben:entweder dem text div eine bestimmte höhe geben am besten die höhe des bildes
Modul: Standard-Artikelliste Advanced V1.4
-
- Beiträge: 1536
- Registriert: Fr 20. Aug 2004, 10:07
- Kontaktdaten:
Ich hätte noch eine Frage zum Feintuning der Ausgabe - momentan lasse ich in dem Modul nach jedem Artikel einen Strich ausgeben:
Lässt sich da vielleicht auf einfache Weise eine Abfrage einbauen, dass nach dem letzten Artikel kein Strich + <br> mehr kommt...?
Danke!
Code: Alles auswählen
echo ' <div id="headline">'.$aValue["Headline"].'</div>', chr(10);
echo ' <div style="clear: both;"></div>', chr(10);
echo ' <div id="text"><br /></div><hr noshade="noshade" /><br />', chr(10);
echo '</div>', chr(10);
Danke!
Zuletzt geändert von Parklife am Di 3. Jan 2006, 13:38, insgesamt 1-mal geändert.
Hallo!
Danke für den Hinweis - aber wie mache ich die Abfrage, dass vor dem ersten kein Strich kommen soll...? Bin leider (immer noch) php-unerfahren...
Hier noch mal der Ausgabe-Code des Moduls:
Vielen Dank!
Danke für den Hinweis - aber wie mache ich die Abfrage, dass vor dem ersten kein Strich kommen soll...? Bin leider (immer noch) php-unerfahren...
Hier noch mal der Ausgabe-Code des Moduls:
Code: Alles auswählen
<?php
# Initialization
$bDebug = false;
unset ($aData);
$aData = array();
unset ($aSettings);
$aSettings = array();
$aSettings["ArticleCount"] = "CMS_VALUE[0]";
$aSettings["TeaserLength"] = "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["TextIdentifier"] = "CMS_VALUE[8]";
$aSettings["ImageIdentifier"] = "CMS_VALUE[9]";
$aSettings["ImageFromContent"] = "CMS_VALUE[10]";
$aSettings["ImageWidth"] = "CMS_VALUE[11]";
$aSettings["ImageHeight"] = "CMS_VALUE[12]";
# Checking values
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
$aSettings["ArticleCount"] = 10;
}
if (!is_numeric($aSettings["TeaserLength"]) || $aSettings["TeaserLength"] <= 0) {
$aSettings["TeaserLength"] = 50;
}
if ($aSettings["SortBy"] == "") {
$aSettings["SortBy"] = "CATART.idart";
}
if ($aSettings["SortDir"] == "") {
$aSettings["SortDir"] = "DESC";
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
$aSettings["Category"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
$aSettings["HeadlineIdentifier"] = "";
}
if (strlen($aSettings["TextIdentifier"]) > 50) {
$aSettings["TextIdentifier"] = "";
}
if (strlen($aSettings["ImageIdentifier"]) > 50) {
$aSettings["ImageIdentifier"] = "";
}
if (!is_numeric($aSettings["ImageWidth"]) || $aSettings["ImageWidth"] <= 0) {
$aSettings["ImageWidth"] = 0;
$aSettings["ImageHeight"] = 0;
}
if (!is_numeric($aSettings["ImageHeight"]) || $aSettings["ImageHeight"] <= 0) {
$aSettings["ImageWidth"] = 0;
$aSettings["ImageHeight"] = 0;
}
if ($aSettings["Category"] !== "0" && $aSettings["HeadlineIdentifier"] !== "") {
if (!is_object($db)) {
$db = new DB_Contenido;
}
$query = "SELECT tblData.value AS headline, ARTLANG.idart AS id, " ;
$query .= "CATLANG.startidartlang, ARTLANG.idartlang, CATART.idcatart AS idcatart FROM ";
$query .= $cfg["tab"]["cat_art"]." AS CATART, ";
$query .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$query .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$query .= $cfg["tab"]["content"]." AS tblData ";
$query .= "WHERE CATART.idcat = '".$aSettings["Category"]."' AND ARTLANG.idlang = '".$lang."' ";
$query .= "AND tblData.idartlang = ARTLANG.idartlang ";
$query .= "AND CATLANG.idlang = ARTLANG.idlang ";
$query .= "AND CATLANG.idcat = CATART.idcat ";
$query .= "AND ARTLANG.idart = CATART.idart ";
$query .= "AND ARTLANG.online = '1' ";
if ($aSettings["ShowStart"] != "enabled") {
$query .= "AND CATLANG.startidartlang != ARTLANG.idartlang ";
}
$query .= "AND ".$aSettings["HeadlineIdentifier"]." ";
// Sort by
$query .= "ORDER BY ";
$query .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$query .= "LIMIT 0, ".$aSettings["ArticleCount"];
}
// execute query
$db->query($query);
if ($db->num_rows() > 0) {
if (!is_object($db2)) {
$db2 = new DB_Contenido;
}
if (!is_object($db3)) {
$db3 = new DB_Contenido;
}
$i = 0;
while ($db->next_record()) {
$aData[$i] = array();
$aData[$i]["Link"] = $sess->url("front_content.php?idcat=".$aSettings["Category"]."&idart=".$db->f("id"));;
$aData[$i]["Headline"] = urldecode($db->f("headline"));
$aData[$i]["Text"] = "";
$aData[$i]["Image"] = array();
$aData[$i]["Image"]["ServerPath"] = "";
$aData[$i]["Image"]["WebPath"] = "";
$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 = '".$db->f("idcatart")."' AND (";
$sql_items = "";
if ($aSettings["TextIdentifier"] != "") {
$sql_items = "(".$aSettings["TextIdentifier"].")";
}
if ($aSettings["ImageIdentifier"] != "") {
if ($sql_items != "") {
$sql_items .= " OR (".$aSettings["ImageIdentifier"].")";
} else {
$sql_items = "(".$aSettings["ImageIdentifier"].")";
}
}
$sql .= $sql_items.")";
if ($bDebug) {
echo "<pre>".$sql."</pre>", chr(10);
}
// execute query
$db2->query($sql);
while ($db2->next_record()) {
$sTypeIdentifier = "tblData.idtype = '".$db2->f('idtype')."' AND tblData.typeid = '".$db2->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
if ($sTypeIdentifier == $aSettings["TextIdentifier"]) {
$sTmpValue = urldecode($db2->f('value'));
if (strlen($sTmpValue) > $aSettings["TeaserLength"]) {
$sTmpValue = substr($sTmpValue, 0, $aSettings["TeaserLength"])."...";
}
$aData[$i]["Text"] = $sTmpValue;
}
if ($sTypeIdentifier == $aSettings["ImageIdentifier"]) {
$sql = "";
if ($aSettings["ImageFromContent"] != "") {
$sTmpValue = urldecode($db2->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);
# $img_split = preg_split("/\./", $img_name);
# $img_type = $img_split[count($img_split) - 1];
# $img_split2 = preg_split("/_/", $img_split[0]);
$name = $img_name;
#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 filename REGEXP '$name'";
}
} else {
$sql = "SELECT dirname, filename FROM ".$cfg["tab"]["upl"]." ";
$sql .= "WHERE idupl = '".$db2->f('value')."'";
}
if ($bDebug) {
echo "<pre>".$sql."</pre>";
}
// execute query
if ($sql != "") {
$db3->query($sql);
if ($db3->next_record()) {
$aData[$i]["Image"]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db3->f('dirname').$db3->f('filename');
$aData[$i]["Image"]["WebPath"] = $cfgClient[$client]["upl"]["htmlpath"].$db3->f('dirname').$db3->f('filename');
}
}
}
}
$i++;
}
unset ($db2);
unset ($db3);
// Output data
foreach ($aData as $aValue) {
echo '<div>', chr(10);
if ($aSettings["ImageWidth"] == 0 || $aSettings["ImageHeight"] == 0) {
$image = $aValue["Image"]["WebPath"];
} else {
if ($aValue["Image"]["ServerPath"] != "" && file_exists($aValue["Image"]["ServerPath"])) {
#Scale image
$image = capiImgScale($aValue["Image"]["ServerPath"], $aSettings["ImageWidth"], $aSettings["ImageHeight"], false, false, 10, false);
} else {
$image = $aValue["Image"]["WebPath"];
}
}
#Get dimensions of the image
list ($width, $height, $type, $attr) = getimagesize($image);
if ($image != "") {
echo ' <div style="float:left; margin-right:20px; margin-bottom:10px; margin-top:3px;"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" /></div>', chr(10);
}
echo ' <div id="headline">'.$aValue["Headline"].'</div>', chr(10);
echo ' <div style="clear: both;"></div>', chr(10);
echo ' <div id="text"><br /></div><hr noshade="noshade" /><br />', chr(10);
echo '</div>', chr(10);
}
}
}
unset ($aData);
unset ($aSettings);
?>
Ersetze die foreach Schleife am Ende mal durch das.
Das ist dein Beispiel mit der Linie unten, wie gesagt baue deinen Quellcode um und passe einfach in der Ausgabe das dann entsprechend an.
Code: Alles auswählen
// Output data
foreach ($aData as $aValue) {
$counter++;
echo '<div>', chr(10);
if( $aSettings["ImageWidth"] == 0 || $aSettings["ImageHeight"] == 0 ) {
$image = $aValue["Image"]["WebPath"];
} else {
if( $aValue["Image"]["ServerPath"] != "" && file_exists($aValue["Image"]["ServerPath"]) ) {
#Scale image
$image = capiImgScale($aValue["Image"]["ServerPath"], $aSettings["ImageWidth"], $aSettings["ImageHeight"], false, false, 10, false);
} else {
$image = $aValue["Image"]["WebPath"];
}
}
#Get dimensions of the image
list ($width, $height, $type, $attr) = getimagesize($image);
if( $image != "" ) {
echo '<div style="float:left; margin-right:20px; margin-bottom:10px; margin-top:3px;"><img src="'.$image.'" width="'.$width.'" height="'.$height.'" /></div>', chr(10);
}
echo '<div id="headline">'.$aValue["Headline"].'</div>', chr(10);
echo '<div style="clear: both;"></div>', chr(10);
if( $counter == "1" ) {
echo '<div id="text"><br/></div>QUELLTEXT FÜR 1. ARTIKEL<br/>', chr(10);
} else {
echo '<div id="text"><br/></div>QUELLTEXT FÜR ALLE ANDEREN ARTIKEL<br/>', chr(10);
}
echo '</div>', chr(10);
}
Probleme bei der Bildqualität
Hallo!
So, das Advanced...-Modul läuft bei mir soweit prima - ich habe nur ein Problem mit der Bildqualität. Ich habe eine gewisse Maximalgröße bei dem Modul eingestellt (um zu verhindern, dass die Benutzer das Layout mit übergroßen Bildern zerschießen), und nun werden selbst Bilder, die exakt diese Maße haben, offenbar bearbeitet und haben anschließend diese hässlichen JPG-Schlieren und -Störungen. Gibt es da irgendwie eine Möglichkeit, die Qualität der erzeugten jpgs zu beeinflussen? (Insbesondere bei Bildern, bei denen, wie gesagt, gar keine Umrechnung nötig ist.)
Danke!
So, das Advanced...-Modul läuft bei mir soweit prima - ich habe nur ein Problem mit der Bildqualität. Ich habe eine gewisse Maximalgröße bei dem Modul eingestellt (um zu verhindern, dass die Benutzer das Layout mit übergroßen Bildern zerschießen), und nun werden selbst Bilder, die exakt diese Maße haben, offenbar bearbeitet und haben anschließend diese hässlichen JPG-Schlieren und -Störungen. Gibt es da irgendwie eine Möglichkeit, die Qualität der erzeugten jpgs zu beeinflussen? (Insbesondere bei Bildern, bei denen, wie gesagt, gar keine Umrechnung nötig ist.)
Danke!
Bild aus Illustrations-Modul
Erstmal herzlichen Dank für diese Modul, es Erfüllt genau meine Bedürfnisse!
Eine kleine Frage: Ich verwende seit 4.6.x das Modul Illustration, um Bilder einzubinden (ist das gar nicht so schlau?). Dieses Modul hier erkennt solche Bilder jedoch nicht. Gäbe es eine Möglichkeit, dies zu ändern oder ist das mit einem grossen Aufwand verbunden?
Wäre sehr dankbar, bin leider selber nicht PHP gewandt!
Merci!
Eine kleine Frage: Ich verwende seit 4.6.x das Modul Illustration, um Bilder einzubinden (ist das gar nicht so schlau?). Dieses Modul hier erkennt solche Bilder jedoch nicht. Gäbe es eine Möglichkeit, dies zu ändern oder ist das mit einem grossen Aufwand verbunden?
Wäre sehr dankbar, bin leider selber nicht PHP gewandt!
Merci!
Jein. Grundsätzlich spricht nichts dagegen (außer, dass ein Redakteur eine Konfiguration eines Artikels durchführen können muss, um das Bild zu ändern).
Aber die Speicherung dieser Bilder erfolgt an gänzlich anderer und - aus Sicht dieses Moduls - komplizierter Stelle. Das umzubauen ist zu viel Aufwand, sorry.
Gruß
HerrB
Aber die Speicherung dieser Bilder erfolgt an gänzlich anderer und - aus Sicht dieses Moduls - komplizierter Stelle. Das umzubauen ist zu viel Aufwand, sorry.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Habe ich irgendwie übersehen:
Gruß
HerrB
Sorry.Ich habe eine gewisse Maximalgröße bei dem Modul eingestellt (um zu verhindern, dass die Benutzer das Layout mit übergroßen Bildern zerschießen), und nun werden selbst Bilder, die exakt diese Maße haben, offenbar bearbeitet und haben anschließend diese hässlichen JPG-Schlieren und -Störungen. Gibt es da irgendwie eine Möglichkeit, die Qualität der erzeugten jpgs zu beeinflussen?
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
macht ja nichts - aber kann man die Bildqualität irgendwie beeinflussen, d.h. verbessern...? Oder wenigstens eine Abfrage einbauen, dass keine Umrechnung erfolgt, wenn das Bild klein genug ist?
Danke!
(Die Umrechnungsroutine beim Modul Illustration ist übrigens absolut in Ordnung und erzeugt auch eine gute Qualität - kann man das nicht irgendwie kombinieren...?)
Danke!
(Die Umrechnungsroutine beim Modul Illustration ist übrigens absolut in Ordnung und erzeugt auch eine gute Qualität - kann man das nicht irgendwie kombinieren...?)
Wie bringe ich Dir das jetzt schonend bei ... es ist die gleiche!Die Umrechnungsroutine beim Modul Illustration ist übrigens absolut in Ordnung und erzeugt auch eine gute Qualität - kann man das nicht irgendwie kombinieren...?
Ansonsten hatte ich in meiner Antwort sogar schon etwas geschrieben - bis ich Deine Antwort gelesen hatte, dass es sich erledigt hat - hat es doch nicht?
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net