Seite 2 von 3
Verfasst: Sa 8. Mär 2003, 23:40
von pulk
also, ich bekomme das nicht so richtig zum laufen:
http://www.musicloaders.com/ressler/con ... nt_single/
weiß jemand wo der fehler liegen könnte ?
Artikelliste Problem
Verfasst: Mi 12. Mär 2003, 12:14
von HardCastle
Ich habe ähnliche Probleme mit der implementierung des ARTIKRLLISTE Moduls.
Anzeige im Frontend:
Code: Alles auswählen
articleID:array(2) {
[0]=>
string(2) "96"
[1]=>
string(2) "94"
}
:SELECT * FROM con_content WHERE idsidelang = '96' ORDER BY typeidselect all CMS variables of the article:array(2) {
[0]=>
string(2) "96"
[1]=>
string(2) "94"
}
headline:string(21) "HEADLINE not defined!"
HEADLINE not defined!
TEXT not defined!
weiter
--------------------------------------------------------------------------------
:SELECT * FROM con_content WHERE idsidelang = '94' ORDER BY typeidselect all CMS variables of the article:array(2) {
[0]=>
string(2) "96"
[1]=>
string(2) "94"
}
headline:string(21) "HEADLINE not defined!"
HEADLINE not defined!
TEXT not defined!
weiter
--------------------------------------------------------------------------------
Die Artikel der gewählten Kategorie haben HEADLINES.
PS. Ist es bei der nächsten Überarbeitung möglich, dass auch nichtaktive Kategorien in der Auswahl zur Verfügung stehen. Dann kann mann besser an neuen Seiten und Bereichen arbeiten, ohne sie gleich online schalten zu müssen.
Gruß HardCastle
Verfasst: Do 13. Mär 2003, 10:29
von JSIT
Hallo!
Hier ein Code Update:
ACHTUNG: es ist wichtig, das man das Modul "der artikel" benutzt und dann die Var: {head1},{text1},{pic1} benutzt.
INPUT:
Code: Alles auswählen
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\">
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">";
// fetch all categorys
$query = "SELECT A.idcat, A.level, C.name FROM $cfgTab_cat_tree AS A, ".
"$cfgTab_cat AS B, $cfgTab_cat_lang AS C WHERE A.idcat=B.idcat ".
"AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
"AND C.visible=1 ORDER BY A.idtree";
// execute query
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
// indent spacer
$spaces = "";
// how many levels
$levels = $db->f("level");
for ($i = 0; $i > $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "' '";
} // end for
if ($selected == $db->f("idcat")) {
// selected category
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
// category
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end if
} // end while
echo " </select>
</td>
</tr>
<tr>
<td colspan=\"2\">Startseiten, oder Artikel anzeigen</td>
</tr>
<tr>
<td>STARTSEITEN</td>
<td><input type=\"radio\" name=\"CMS_VAR[10]\" value=\"1\"></td>
</tr>
<tr>
<td>ARTIKEL</td>
<td><input type=\"radio\" name=\"CMS_VAR[10]\" value=\"0\" CHECKED></td>
</tr>
<tr>
<td>Bildbreite:</td>
<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
</tr>
<tr>
<td>Bildhöhe:</td>
<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"CMS_VALUE[2]\"></td>
</tr>
<tr>
<td>Max Zeichen Head1</td>
<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"CMS_VALUE[3]\"></td>
</tr>
<tr>
<td>Max Zeichen Head2</td>
<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"CMS_VALUE[4]\"></td>
</tr>
<tr>
<td>Text für Weiterleitung</td>
<td><input type=\"text\" name=\"CMS_VAR[11]\" value=\"CMS_VALUE[11]\"></td>
</tr>
<tr>
<td>Bild für Weiterleitung</td>
<td>";
echo "<select name=\"CMS_VAR[12]\" size=\"1\">";
$sql = "SELECT * FROM $cfgTab_upl WHERE idclient='$client' AND filetype='img' ORDER BY filename";
$db->query($sql);
while ($db->next_record()) {
echo "<option value=\"".$db->f("filename")."\" selected>".$db->f("description")."</option>";
}
echo "</SELECT></td>
</tr></table>";
OUTPUT:
Code: Alles auswählen
// second db class instance
$db2 = new DB_Contenido;
// selected category
$selcat = "CMS_VALUE[0]";
// selected is_start article or site article
$sel_start = "CMS_VALUE[10]";
// selected 'Weiter' Text
$text_to = "CMS_VALUE[11]";
// selected 'Weiter' Bild
$image_to = "CMS_VALUE[12]";
// bildbreite
// $imgwidth = "CMS_VALUE[1]";
// bildhoehe
// $imgheight = "CMS_VALUE[2]";
// anzahl der zeichen h1
// $mxh[0] = "CMS_VALUE[3]";
// anzahl der zeichen h2
// $mxh[1] = "CMS_VALUE[4]";
// select all articles in category widthout start article
// jsit start
if ($sel_start=="0")
{
$query = "SELECT ARTLANG.idside, ARTLANG.idsidelang FROM $cfgTab_cat_side AS CATART, $cfgTab_side_lang AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' AND CATART.is_start = '0' ORDER BY ARTLANG.title";
}
else
{
$query = "SELECT ARTLANG.idside, ARTLANG.idsidelang FROM $cfgTab_cat_side AS CATART, $cfgTab_side_lang AS ARTLANG, $cfgTab_cat AS KAT ".
"WHERE KAT.parentid = '$selcat' AND CATART.idcat = KAT.idcat AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' AND CATART.is_start = '1 ' ORDER BY ARTLANG.title";
}
//jsit end
// execute query
$db->query($query);
IF (_DEBUG)
{
echo "CAT: ".$selcat ;
echo "<br>:".$query."<br>";
echo $db->nf()."<br>";
}
unset($articleID);
unset($linkID);
// get id's of sub articles
while ($db->next_record())
{
$articleID[] = $db->f("idsidelang");
$linkID[] = $db->f("idside");
} // end while
// loop through subarticles
IF (_DEBUG)
{
echo "<pre>articleID:<br>";
var_dump ($articleID);
echo "</pre>";
}
// now loop through ALL articles
foreach ($articleID as $key => $value)
{
// select all CMS variables of the article
$query = "SELECT * FROM $cfgTab_content WHERE idsidelang = '$value' ORDER BY typeid";
IF (_DEBUG)
{
echo "<pre><br>:".$query."<br>";
}
// execute query
$db->query($query);
IF (_DEBUG)
{
echo "select all CMS variables of the article:<br>";
var_dump ($articleID);
echo "</pre>";
}
// link
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idside=$linkID[$key]&m=$m&s=$s");
// initialize vars to point out user Errors
$headline = "HEADLINE not defined!";
$text = "TEXT not defined!";
$img = "IMAGE not defined!";
// loop through result and extraxt data
while ($db->next_record())
{
// data type
$type = $db->f("idtype");
$type2 = $db->f("typeid"); // R.Meyer
if ($type == 1 && $type2 == 31)
{ // headline "vorschau"
$headline = $db->f("value");
}
elseif ($type == 3 && $type2 == 31)
{ // text "vorschau"
$text = $db->f("value");
}
elseif ($type == 4 && $type2 == 31)
{ // image "vorschau"
$value = $db->f("value");
$query = "SELECT filename FROM $cfgTab_upl WHERE idupl = '$value'";
$db2->query($query);
$db2->next_record();
// $img = $cfgClient[$client]["htmlpath"]["img"] . $db2->f("filename");
$img = $cfgClient[$client]["frontendpath"]["img"] . $db2->f("filename");
} // end if
} // end while
IF (_DEBUG)
{
echo "<pre>headline:<br>";
var_dump ($headline);
echo "</pre>";
}
// not required. User is responsible to keep it short
// foreach ($headline as $key => $value) {
// // headline length
// $len = strlen($headline[$key]);
//
// // cut headline if too long
// if ($len > $mxh[$key] && $mxh[$key] > 0) {
// $headline[$key] = substr($headline[$key],0,$mxh[$key]);
// $headline[$key] = $headline[$key] . " ...";
// } // end if
//
// } // end foreach
// HTML template for one element
// old: <img src=\"$img\" width=\"$imgwidth\" height=\"$imgheight\">
// <span class=\"text\">$headline[1]</span>
// <tr valign=\"bottom\" bgcolor=\"#ffffff\" height=\"1\">
// <td>
// <img src=\"img/spacer.gif\" width=\"1\" height=\"1\">
// </td>
// </tr>
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">
<tr valign=\"top\">
<td style=\"padding:10px\">
<img src=\"$img\">
</td>
<td width=\"100%\" style=\"padding:10px\">
<a href=\"$link\">
<span class=\"head2\">$headline</span><br><br>
</a>
<span class=\"text\">$text</span><br>
</td>
</tr>
<tr valign=\"bottom\" align=\"right\">
<td colspan=\"2\">
<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\" border=\"0\">
<td valign=\"middle\" align=\"right\" width=\"100%\">
<a href=\"$link\" style=\"font-size:11px;color:#000000\">$text_to
</a>
</td>
<td align=\"right\">
<a href=\"$link\">
<img src=\"".$cfgClient[$client]["frontendpath"]["img"].$image_to."\" border=\"0\">
</a>
</td>
</table>
</td>
</tr>
</table><hr>";
//unset($headline);
} // end foreach
Gruß
Jörg
Verfasst: Do 13. Mär 2003, 17:05
von pulk
JSIT hat geschrieben:Hallo!
Hier ein Code Update:
ACHTUNG: es ist wichtig, das man das Modul "der artikel" benutzt und dann die Var: {head1},{text1},{pic1} benutzt.
benutze ich, funzt trotzdem, gibt esirgendwelche regeln ob das modul eine startseite sein darf, und ob man es in dem selben baum haben kann wie die artikel die angezeigt werden sollen,..... ?
Code-Update funzt immer noch nicht
Verfasst: Do 13. Mär 2003, 23:30
von HardCastle
Hallo Pulk, Hallo JSIT,
das Code-Update funzt bei mir immer noch nicht. Laut DEBUG Info liegt das Problem in folgendem Snipsel:
Code: Alles auswählen
// initialize vars to point out user Errors
$headline = "HEADLINE not defined!";
$text = "TEXT not defined!";
$img = "IMAGE not defined!";
// loop through result and extraxt data
while ($db->next_record())
{
// data type
$type = $db->f("idtype");
$type2 = $db->f("typeid"); // R.Meyer
if ($type == 1 && $type2 == 31)
{ // headline "vorschau"
$headline = $db->f("value");
}
elseif ($type == 3 && $type2 == 31)
{ // text "vorschau"
$text = $db->f("value");
}
elseif ($type == 4 && $type2 == 31)
{ // image "vorschau"
$value = $db->f("value");
$query = "SELECT filename FROM $cfgTab_upl WHERE idupl = '$value'";
$db2->query($query);
$db2->next_record();
// $img = $cfgClient[$client]["htmlpath"]["img"] . $db2->f("filename");
$img = $cfgClient[$client]["frontendpath"]["img"] . $db2->f("filename");
} // end if
} // end while
IF (_DEBUG)
{
echo "<pre>headline:<br>";
var_dump ($headline);
echo "</pre>";
}
Das Start-Artikel Modul kriegt die Variablen {head1} {text1} und {pic1} aus dem ARTIKEL-Modul nicht rüber.
Der Link auf die Artikelseiten klappt.
Muss das Modul "DER_ARTIKEL" vielleicht auch angepasst werden (in einem Posting von JSIT stand so was drinnen, aber ohne weiter Info wie)? Oder wie bekommt das Start-Artikel-Modul die Variablen serviert?
Gruß HardCastle
Verfasst: Fr 14. Mär 2003, 02:33
von Björn
Das Geheimnis ist "$type2 == 31...." .
Die erste Zahl, also die '3' zeigt an, das sich das Artikelmodul in Container 3 befindet.
Würde es in Container 4 liegen, müßte es heißen:
"$type2 == 41"
In Container 20
"$type2 == 201"
Siehe auch
http://www.contenido.de/forum/viewtopic ... t=faq#1779
War es das?
Verfasst: Fr 14. Mär 2003, 09:47
von JSIT
Hallo!
Danke Björn, nun wissen wir was die 31 ist

.
Ich schaue ob ich den Wert auslesen kann und so die Referenz automatisch finde. Der Container muss sich doch finden lassen, so das wir dann automatisch $type2=$CONT.1 bilden können.
Ansonsten müsstet Ihr es mit der Hand ändern, ist ja nur einmal.
Oder übergebt es mit. Wo ? muss ich schauen, oder Björn weis es gleich
es steht bestimmt wo, in welchen Container sich das Modul "Der Artikel" befindet, den Wert muss man Übergebn, wie ?? Ich schau mal.
Jörg
Verfasst: Fr 14. Mär 2003, 11:36
von Björn
Einfach so:
Im Input für die Seitenkonfiguration eine Selectbox, wo man auswählen kann, im welchem Container sich DER ARTIKEL befindet (1-20), abspeichern und in den Output durchschleifen --> z.B. CMS_VAR[1].
Im Output an die betreffenden Stellen:
"$type2 == CMS_VALUE[1]1"
Ist der Container 6 würde da dann beim ausführen stehen
"$type2 == 61"
Link haut für Startseitenoption nicht hin
Verfasst: Fr 14. Mär 2003, 13:18
von HardCastle
Hi Folks,
das mit den Artikel-Variablen haut jetzt dank Conainerangebe hin.
Habe aber weiteres Problem:
Meiner Meinung nach haut der OUTPUT-Link:
Code: Alles auswählen
// link
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idside=$linkID[$key]&m=$m&s=$s");
nur für die Option Artikelanzeige hin.
Für die Starseitenoption ist dort ein falscher wert für $selcat drin, der den Link auf die jeweilige Startseite vereitelt:
"No code available."
Der Wert der $selcat im Link ist immer die aktuelle Kategorie.
Sehe ich das falsch?
Gruß HardCastle
Verfasst: Fr 14. Mär 2003, 14:12
von JSIT
Hallo,
nomalerweise wird hier entweder STARTARTIKEL oder nicht ausgelesen,
Code: Alles auswählen
// select all articles in category widthout start article
// jsit start
if ($sel_start=="0")
{
$query = "SELECT ARTLANG.idside, ARTLANG.idsidelang FROM $cfgTab_cat_side AS CATART, $cfgTab_side_lang AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' AND CATART.is_start = '0' ORDER BY ARTLANG.title";
}
else
{
$query = "SELECT ARTLANG.idside, ARTLANG.idsidelang FROM $cfgTab_cat_side AS CATART, $cfgTab_side_lang AS ARTLANG, $cfgTab_cat AS KAT ".
"WHERE KAT.parentid = '$selcat' AND CATART.idcat = KAT.idcat AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '$lang' AND ".
"ARTLANG.online = '1' AND CATART.is_start = '1 ' ORDER BY ARTLANG.title";
}
//jsit end
Im Input gibt man an, ob es Startartikel oder Artikel der CAT sind!
Artikel der CAT läuft auf jeden Fall, ob es klappt mit Startartikel der untergeordneten CAT schau ich mir nochmal an, da es bei mir läuft

Nornal sollten alle Startartikel gelesen werden, die in einer CAT unter der angegebenen CAT stehen. z.B.
Hardware ->
Hardware -> Grafikkarten
Hardware -> Festplatten
Hardware -> Gehäuse
wenn man nun in der Startseite von Hardware die Artikeliste einfühgt und sagt, alle Startartikel von Hardware->, so sollten:-) alle Startartikel von :
Hardware -> Grafikkarten
Hardware -> Festplatten
Hardware -> Gehäuse
gelesen werden.
Dazu muss man dann angeben, das man Startartikel lesen will und nicht Artikel.
Sollte gehen!
Wenn nicht Mail an meiner einer mit genauer Fehlermeldung.
Jörg
Verfasst: Fr 14. Mär 2003, 19:01
von pulk
ok, soweit so gut
es funktioniert, nur schaut mal
http://www.musicloaders.com/ressler/con ... nt_single/
was is der obere teil ?
Code: Alles auswählen
:SELECT * FROM con_content WHERE idsidelang = '19' ORDER BY typeidselect all CMS variables of the article:array(2) {
[0]=>
string(1) "3"
[1]=>
string(2) "19"
}
headline:string(8) "headline"
Verfasst: So 16. Mär 2003, 13:14
von JSIT
Hallo!!!
He, wenn Du mal Deine CSS überarbeitest, dann siehst Du, das deine Headline Weiss auf Hellgrau ist. Deine Headline ist da! einfach mal mit der Mouse über den Bereich mit Test fahren. Dann geht alles bei Dir!
bei Klick auf weiter und bei KLick auf di Headline geht es zum artikel!
jörg
Verfasst: So 16. Mär 2003, 17:09
von pulk
JSIT hat geschrieben:Hallo!!!
He, wenn Du mal Deine CSS überarbeitest, dann siehst Du, das deine Headline Weiss auf Hellgrau ist. Deine Headline ist da! einfach mal mit der Mouse über den Bereich mit Test fahren. Dann geht alles bei Dir!
bei Klick auf weiter und bei KLick auf di Headline geht es zum artikel!
jörg
das weiß ich, trotzdem ist da dieser code oberhalb !
Verfasst: Mo 17. Mär 2003, 08:41
von JSIT
Hallo!
NUNNNN dasss ist was ganz feines! also Du hast bestimmt den Code gesehen, der wie folgt lautet:
Code: Alles auswählen
IF (_DEBUG)
{
echo "CAT: ".$selcat ;
echo "<br>:".$query."<br>";
echo $db->nf()."<br>";
}
Entweder Du schreibst in die inc\config.php folgenden code:
Code: Alles auswählen
//---------------------------------------------------------
// DEBUG MODUS einschalten 1=ein; 0=aus
//---------------------------------------------------------
define ("_DEBUG",1);
oder Du löschst die Zeilen raus.
Es ist eine Debug, damit lese ich aus, ob die richtigen Daten gelesen werden. Bin ich am Entwurfssystem ist _DEBUG=1 und auf dem LiveSystem _DEBUG=0
Aslo einfach die Config.php erweitern und fertig. So hast Du eine Globale DEBUG Var.
Schau mal im Forum unter MULTILINK da habe ich den Code für eine Debug Datei abgebildet. Immer schön wissen was das Tool macht
viel Spaß
Jörg
Verfasst: Mo 17. Mär 2003, 11:00
von HardCastle
Hallo JSIT,
hier der DEBUG-Text:
Code: Alles auswählen
CAT: 30
:SELECT ARTLANG.idside, ARTLANG.idsidelang FROM con_cat_side AS CATART, con_side_lang AS ARTLANG, con_cat AS KAT WHERE KAT.parentid = '30' AND CATART.idcat = KAT.idcat AND ARTLANG.idside = CATART.idside AND ARTLANG.idlang = '5' AND ARTLANG.online = '1' AND CATART.is_start = '1 ' ORDER BY ARTLANG.title
2
articleID:array(2) {
[0]=>
string(3) "102"
[1]=>
string(3) "104"
}
:SELECT * FROM con_content WHERE idsidelang = '102' ORDER BY typeidselect all CMS variables of the article:array(2) {
[0]=>
string(3) "102"
[1]=>
string(3) "104"
}
headline:string(4) "test"
test
test
--------------------------------------------------------------------------------
:SELECT * FROM con_content WHERE idsidelang = '104' ORDER BY typeidselect all CMS variables of the article:array(2) {
[0]=>
string(3) "102"
[1]=>
string(3) "104"
}
headline:string(16) "Testkat2 - Start"
Testkat2 - Start
ttext
Die Seite ist Startseite einer Kategorie (idcat=30) die weitere Unterkategorien hat (idcat=32 und idcat=34). Habe in der Templatekonfiguration für das Modul die Option STARTSEITEN ausgewählt. So wie ich das verstanden habe, müsste das Modul mit der Konfiguration nun aus den untergeordneten Kategorien die Startartikel auswählen und verlinken. Die Auswahl klappt auch (Überschrift etc.) aber mit der Verlinkung hakt es.
Laut DEBUG-Info wählt das Modul für beide Links immer die aktuelle Kategorie (idcat=30) aus, was beim Aufrufen des Links zu einem
führt.
Gruß HardCastle
PS. Bei der Konfiguration des Moduls bleibt die einmal getroffene Auswahl (STARTSEITEN oder ARTIKEL) nicht erhalten. Bei einem erneuten Aufruf ist immer ARTIKEL angewählt, egal was vorher eingestellt war.