Spaw 1.0.3

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 22. Okt 2003, 11:44

HerrB hat geschrieben: Zur Angabe der Styles würde ich mich auf den Kompromiss der Definition in irgendeiner config.php einlassen.

Aber da müsste timo was zu sagen (können).
Die Styles, die im Dropdown beim Spaw angezeigt werden, kann man dann im Customizing festlegen (ergo Datenbank). Keine Angst, ne Doku gibts dazu auch :)

Ich denke, die 4.4 wird heute oder morgen kommen. Schaut alles soweit recht positiv aus

Grüße,
Timo

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 22. Okt 2003, 12:02

timo hat geschrieben:Ja, der Spaw ist wirklich ekelig zu "hacken" (das JS/PHP-Gemisch bringt mich noch zum Wahnsinn).
ich betrachte es als übung damit ich nicht einroste. ;-) ich programmier nur alle heilige zeiten in php, js, sql etc.
HerrB hat geschrieben: Select-Statement (ich nehme mal an, dass Spaltenauswahl schneller als * ist)
ich würd sagen ja, habs bei den statement aber mit absicht drausengelassen. wer weiss auf welche felder man noch zugreifen möchte.
für high speed optimierung sicherlich ne möglichkeit, aber so oft wie die funktion aufgerufen wird glaube ich ist es vom speed her egal (es sei den man hat 1000 seiten oder so)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 22. Okt 2003, 12:08

Wir haben ca. 500 Seiten und sind noch bei der Migration...

Für die aktuelle Version müsste es dann so aussehen:

Code: Alles auswählen

          a.level AS level,
          b.idcat AS idcat,
          b.idcatart AS idcatart,
          b.is_start AS is_start,
          d.name AS name,
          d.visible,
          e.title AS title,
          e.online AS online
Mein Vorschlag wäre:

Code: Alles auswählen

while ( $db->next_record() ) {

  $spaces = "";

  for ($i=0; $i<$db->f("level"); $i++) {
    $spaces .= "&nbsp;&nbsp; ";
  }

  $tmp_title = $db->f("title");

  if ( strlen($tmp_title) > 32 ) { // take care that title is not too long
    $tmp_title = substr($tmp_title, 0, 32);
  }

  if ($db->f("is_start") == "1"){
    echo "<option value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\"";
    if ( $db->f("online") == "0" || $db->f("visible") == "0" ) echo " style=\"color:#666666;\""; // offline categories are grey
    echo ">$spaces > ".$db->f("name").": ".$tmp_title."</option>";
  } else {
    echo "<option value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\"";
    if ( $db->f("online") == "0" || $db->f("visible") == "0" ) echo " style=\"color:#666666;\""; // offline articles are grey
    echo ">$spaces&nbsp;&nbsp;&nbsp;- ".$tmp_title."</option>";
  }
}
Das vereint das beste aus beiden Welten (und die Einrückung sieht "echt" aus). Der Code hat ein einer Stelle ein (auch als Feature zu betrachtendes) Problem: Es zeigt Kategorien ohne Startartikel nicht an. Das dürfte sich aber m.E. Kategorien betreffen, die gar keine Artikel enthalten - das sieht bei uns ganz gut aus (d.h. die "tote" Kategorie kann gar nicht ausgewählt werden).

Ich schaue später nochmal rein.

Gruß
HerrB

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 22. Okt 2003, 12:16

Ich habe eine Einrückung für den Spaw gebaut, sowie saubere Einfärbung. Hier der Code:

(keine Ahnung, ob das mit der 4.3.2.1b geht):

Code: Alles auswählen


$sql = "SELECT
          *
        FROM
          ".$cfg["tab"]["cat_tree"]." AS a,
          ".$cfg["tab"]["cat_lang"]." AS b,
          ".$cfg["tab"]["cat"]." AS c
        WHERE
          a.idcat = b.idcat AND
          c.idcat = a.idcat AND
          c.idclient = '".$client."' AND
          b.idlang = '".$lang."'
        ORDER BY
          a.idtree";

$db->query($sql);

echo "<option value=\"\">-- ".i18n("None")." --</option>";

while ( $db->next_record() ) {

  $spaces = "";

  for ($i=0; $i<$db->f("level"); $i++) {
    $spaces .= "&nbsp;&nbsp;";
  }

  if ($db->f("visible") == 0)
  {
  	$style = "font-weight: bold; color: #666666; background-color: #eeeeee;";	
  } else {
  	$style = "font-weight: bold; background-color: #eeeeee;";
  }

  echo "<option style=\"$style\" value=\"front_content.php?idcat=".$db->f("idcat")."&lang=$lang&client=$client\">$spaces > ".$db->f("name")."</option>";
  
  $sql2 = " SELECT
		 		* 
				FROM 
			".$cfg["tab"]["cat_art"]." AS a, 
			".$cfg["tab"]["art"]." AS b,
			".$cfg["tab"]["art_lang"]." AS c
				WHERE a.idcat = '".$db->f("idcat")."'
				 AND b.idart = a.idart AND c.idart = a.idart AND
				c.idlang = '".$lang."' AND b.idclient = '".$client."' ORDER BY a.is_start DESC, c.title ASC";
	$db2->query($sql2);

	while ($db2->next_record())
	{
		  $tmp_title = $db2->f("title");

          if ( strlen($tmp_title) > 32 ) {
            $tmp_title = substr($tmp_title, 0, 32);
          }
  
      	$style = "";
        if ($db2->f("is_start") == 1 && $db2->f("online") == 0)
      	{
    	  	$style = "color: #ff0000";
      	}	
      	
      	if ($db2->f("is_start") == 1 && $db2->f("online") == 1)
      	{
      		$style = "color: #0000ff";
      	}
        if ($db2->f("is_start") == 0 && $db2->f("online") == 0)
      	{
    	  	$style = "color: #666666";
      	}	
      	

		echo "<option style=\"$style\" value=\"front_content.php?idcatart=".$db2->f("idcatart")."&lang=$lang&client=$client\">&nbsp;&nbsp;$spaces |&nbsp;&nbsp;".$tmp_title."</option>";	
	}				
  //
  //echo "<option value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\">$spaces ".$db->f("name")."-".$tmp_title."</option>";
}

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 22. Okt 2003, 12:24

mit meine routine wollte ich einfach nur
.$db->f("name").": ".$tmp_title."
vermeiden -> mir ist es zu lange...

das mit den einrückungen ist geschmackssache... ich finds mit dem stern schöner... aber man kanns ja eh ändern...

ist nur optik...

beim select query -> möglich dass es richtig ist, ich habs nicht getestet.

das mit dem mailto prefix müsste ergänzt werden - ich halts aber für nicht notwendig... (aufgrund der fehler situationen die auftreten können)
und die links mit style zu definieren funktioniert auch.

wenn ich mir die optionen in htmledit3 ansehe muss ich aber sagen viel zu viele möglichkeiten.

ach ja das mit pdf hab ich noch gar nie versucht, obs überhaupt funktioniert...

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 22. Okt 2003, 12:35

timo hat geschrieben:Ich habe eine Einrückung für den Spaw gebaut, sowie saubere Einfärbung. Hier der Code:

(keine Ahnung, ob das mit der 4.3.2.1b geht):
so wie es aussieht gehts mit der 4.3.2.1b version... (nach durchsicht des codes)

ich hab bei mir nur vergessen das kategorien ohne artikel nicht aufgelistet werden. deshalb auch die zwei querys.

ja warum nicht... wär nur logisch diese kategorien mit anzuzeigen.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 22. Okt 2003, 12:37

Ja, bei der Version, die ich gepostet habe, wird auch dann nur auf "idcat" verlinkt. Kann evtl praktisch sein :)

Grüße,
Timo

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 23. Okt 2003, 20:08

habe am server

http://dayside.net/spaw.html

soeben die letzte version für contenido4.3.2.1b raufgeladen
(und nur für diese version)

änderungen:
kategorien auswahl ist möglich bei links
bilder werden standardmäßig mit border = 0 eingefügt...

diverse variationen wie man die linkliste gestalten möchte siehe obrige beiträge.

weitere updates gibts vielleicht... momentan beschränke ich mich auf die 4.4 anpassungen und tests

Gesperrt