Tag Cloud erstellen

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

Hi!

Sehr interessante Lösung, leider krieg ich es mit dem Modi-Art Template nicht zum laufen.

Ich habe die class.TagCloud.php angelegt im Classes-Verzeichnis des Shops.

In der produkte.php habe ich dann deinen Code so angelegt, war das korrekt:

Code:
//Tagcloud
require_once(PFAD_CLASSES."class.TagCloud.php");
$MyTagCloud = new TagCloud($AktuelleKategorie->kKategorie,10,10);
$smarty->assign('TagCloudCount',$MyTagCloud->CountTags);
$smarty->assign('TagCloudText',$MyTagCloud->GetText());

Dann hab ich eine neue Box angelegt und sie ins Template integriert.

Leider bleibt die Box leer (Hifi-Music.de - der kompetente CarHifi-Shop rechts unten).
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

...und (hab ich gerade erst gesehen) ganz unten im Footer wird (im Firefox) angezeigt:

Code:
Warning: Invalid argument supplied for foreach() in /www/htdocs/w0076ab7/shop/classes/class.TagCloud.php on line 31
Woran liegts?
 

bartholetti

Aktives Mitglied
13. November 2008
104
0
München
AW: Tag Cloud erstellen

...und (hab ich gerade erst gesehen) ganz unten im Footer wird (im Firefox) angezeigt:

Code:
Warning: Invalid argument supplied for foreach() in /www/htdocs/w0076ab7/shop/classes/class.TagCloud.php on line 31
Woran liegts?

Servus Matze,

evtl. hast Du die Zeilen in der produkte.php zu weit oben eingefügt.

Dann ist $AktuelleKategorie->kKategorienämlich noch nicht definiert.

Das require_once ganz oben zu den anderen requires und das Instanzieren des Objektes hab ich ganz unten (kurz vor dem Smarty display) rein.

Ich denk mal, dass es daran liegt.

Gruss
Flo
 

bartholetti

Aktives Mitglied
13. November 2008
104
0
München
AW: Tag Cloud erstellen

Servus Matze,

klappts denn jetzt?

Würd mich ja schon interessieren...

Seh auf Deinem Shop noch nix :)

Ich hoffe ich hab nächste Woche ne neue Version mit verschiedenen Schriftfarben, Grössen etc. (was halt so ne Tag Cloud ausmacht)

Muss aber echt nach bereits einem Tag produktivem Einsatz sagen, dass lt. meinem LOG doch einige das nutzen.

Was die Suchmaschinen betrifft, so hab ich da eher keine Erfahrung ob das was bringt...

Die Zukunft wirds zeigen.

Beste Grüsse
Flo
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

Nein, es geht nicht.

Ich hatte alles ganz unten stehen, sowohl vor als auch nach dem smarty->display.

Habe nun das require_once ganz nach oben gesetzt: Kein Ergebnis.
Es zeigt nur eine leere Kategoriebox und die Fehlermeldung an (die erst verschwindet, wenn ich die originale produkte.php wieder aufspiele).

Da die Fehlermeldung beim Laden jeder Seite zuerst angezeigt wird (wenn ich den Code vor dem "smarty->display" eingefügt habe) und das auf pot. Kunden ja nicht so professionell wirkt, hab ichs wieder rausgenommen.

Du bist ein Nachtmensch, oder? War ich früher auch, mittlerweile nicht mehr, ansonsten hätte ich gesagt, wir können morgen früh nochmal schauen, woran es liegt (wenn nicht so viele Leute drauf sind). Ansonsten muss ichs halt nochmal auf meinem Testshop aufsetzen....

Viele Grüße
Matze
 

bartholetti

Aktives Mitglied
13. November 2008
104
0
München
AW: Tag Cloud erstellen

Nein, es geht nicht.

Ich hatte alles ganz unten stehen, sowohl vor als auch nach dem smarty->display.

Habe nun das require_once ganz nach oben gesetzt: Kein Ergebnis.
Es zeigt nur eine leere Kategoriebox und die Fehlermeldung an (die erst verschwindet, wenn ich die originale produkte.php wieder aufspiele).

Da die Fehlermeldung beim Laden jeder Seite zuerst angezeigt wird (wenn ich den Code vor dem "smarty->display" eingefügt habe) und das auf pot. Kunden ja nicht so professionell wirkt, hab ichs wieder rausgenommen.

Du bist ein Nachtmensch, oder? War ich früher auch, mittlerweile nicht mehr, ansonsten hätte ich gesagt, wir können morgen früh nochmal schauen, woran es liegt (wenn nicht so viele Leute drauf sind). Ansonsten muss ichs halt nochmal auf meinem Testshop aufsetzen....

Viele Grüße
Matze

Das versteh ich jetzt echt nich!

Kannst Du den SQL Befehl über phpmyadmin ohne Fehler ausführen?

Bei mir funzt es prima! Na ja, das Layout ist noch anpassungsbedürftig aber erstmal gehts.

Haste mal ein var_dump nach dem Execute Query gemacht?

Das fuchst mich jetzt, das es bei Dir nicht geht!

HALLO ALLE ANDEREN: Gehts bei Euch? Ideen warum es bei Matze nicht funzt?

Matze, Ich debug das morgen nochmal. Vielleicht kann ich Dir dann noch ein Tip geben.

Der Code muss natürlich vor das smarty->display!

Obwohl ich wirklich ein Nachtmensch bin können wir trotzdem gerne morgen früh mal nochmal probieren.

Also am besten direkt nachdem ich aufstehe (17:30) :)

Ich hoffe, wir kriegen das morgen zusammen gebacken (vielleicht kommt ja noch Feedback von anderen)

Gruss
Flo
 

gm_alex

Aktives Mitglied
12. Dezember 2007
271
0
AW: Tag Cloud erstellen

PHP:
foreach ($this->TagClouds as $Row) {
         $this->TagText .= "- <b><a href='".$Row->cSEO."'>".$Row->cSuchanfrage."</a></b> <br> ";
     $i++;
      }
      $this->CountTags = $i;
ersetzen durch

PHP:
if(isset($this->TagClouds))
{
      foreach ($this->TagClouds as $Row) {
         $this->TagText .= "- <b><a href='".$Row->cSEO."'>".$Row->cSuchanfrage."</a></b> <br> ";
      }
}
$this->CountTags = count($this->TagClouds);
dann müsste der Fehler weg sein vermute ich mal. Und das count ist geschickter als eine Variable zu iterieren.
 

bartholetti

Aktives Mitglied
13. November 2008
104
0
München
AW: Tag Cloud erstellen

PHP:
foreach ($this->TagClouds as $Row) {
         $this->TagText .= "- <b><a href='".$Row->cSEO."'>".$Row->cSuchanfrage."</a></b> <br> ";
     $i++;
      }
      $this->CountTags = $i;
ersetzen durch

PHP:
if(isset($this->TagClouds))
{
      foreach ($this->TagClouds as $Row) {
         $this->TagText .= "- <b><a href='".$Row->cSEO."'>".$Row->cSuchanfrage."</a></b> <br> ";
      }
}
$this->CountTags = count($this->TagClouds);
dann müsste der Fehler weg sein vermute ich mal. Und das count ist geschickter als eine Variable zu iterieren.

Hi,

das sollte bei einer foreach Schleife keine Rolle spielen.

Das mit dem Iterieren, da hast Du mit Sicherheit Recht.

Hast Du den mod mal bei Dir ausprobiert?

Gruss
Flo
 

gm_alex

Aktives Mitglied
12. Dezember 2007
271
0
AW: Tag Cloud erstellen

Probiert nicht aber dass das bei einer foreach-Schleife eine Rolle spielt ob der Wert gesetzt ist ist sicher. Das siehst du auch im Manual: PHP: foreach - Manual denn die foreach Schleife erwartet einen Array. Und ein leerer Array ist nunmal nicht NULL oder was auch immer sonder array(). Ich habe in einem Wordpress Plugin von mir ca 20-40 foreach-Schleifen und spreche aus Erfahrung. Matze soll es mal testen.
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

Nein, leider ist der Fehler noch nicht weg, er ist nur von Zeile 31 in Zeile 33 gewandert (also in die Zeile, in der das "foreach" steht).
Ihr könnt mal auf den ersten Shop in meiner Sig schauen, da seht ihr ihn...
 

gm_alex

Aktives Mitglied
12. Dezember 2007
271
0
AW: Tag Cloud erstellen

ich hatte vorhin schon danach gesucht und ihn nicht gefunden. und finde ihn immer noch nicht...
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

Schau nochmal. Die Fehlermeldung kommt nicht mehr, allerdings ist die Tagcloud leider noch leer.

Den Code im Template hab ich entsprechend an das Modi-ARt angepasst (im originalcode waren ja Formatierungen aus dem Standardtemplate enthalten)

Code:
<li class="sidebox" id="sidebox_zahlung">
	<h3><span>Suchbegriffe</span></h3>
	<ul class="boxcontent">
				<center>
                 <table class="kategorien" cellpadding="0" cellspacing="0" width="100%" style="padding:0px;margin:0px;">
                                <P>{$TagCloudText}</P>
                                </table>
				</center>
	</ul><!-- /boxcontent -->
</li>

Hab ich irgendwo einen Fehler gemacht?!?
 

gm_alex

Aktives Mitglied
12. Dezember 2007
271
0
AW: Tag Cloud erstellen

Ich vermute bzw. bin mir ziemlich sicher das die SQL-Abfrage bei dir ein leeres Ergebnis liefert weshalb du ohne die if-Abfrage auch einen PHP-Fehler bekommst und nichts im Shop siehst, was ja auch irgendwie logisch ist wenn nichts zum Anzeigen gefunden wird.
 

bartholetti

Aktives Mitglied
13. November 2008
104
0
München
AW: Tag Cloud erstellen

Probiert nicht aber dass das bei einer foreach-Schleife eine Rolle spielt ob der Wert gesetzt ist ist sicher. Das siehst du auch im Manual: PHP: foreach - Manual denn die foreach Schleife erwartet einen Array. Und ein leerer Array ist nunmal nicht NULL oder was auch immer sonder array(). Ich habe in einem Wordpress Plugin von mir ca 20-40 foreach-Schleifen und spreche aus Erfahrung. Matze soll es mal testen.

Servus Alex,
cool wusste ich nich. Man lernt nie aus.

Bin jetzt grad erst wieder dabei mich in PHP einzuarbeiten. Komme eigentlich aus dem Windows - Delphi Bereich.

Danke für den Tip

Gruss
Flo
 

Hifi-Matze

Sehr aktives Mitglied
8. September 2006
1.192
8
AW: Tag Cloud erstellen

Ich vermute bzw. bin mir ziemlich sicher das die SQL-Abfrage bei dir ein leeres Ergebnis liefert weshalb du ohne die if-Abfrage auch einen PHP-Fehler bekommst und nichts im Shop siehst, was ja auch irgendwie logisch ist wenn nichts zum Anzeigen gefunden wird.

Dem würde ich insofern zustimmen, als, wenn ich die IF-Abfrage ">0" vor die "Box" setze, die komplette Box dann nicht angezeigt wird...
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Meta-Tag zum HTML-Quellcode hinzufügen Allgemeine Fragen zu JTL-Shop 0
Neu Canonical-Tag von Kinderartikel Allgemeine Fragen zu JTL-Shop 3
Neu Suche Zeiterfassungs-Terminal ohne Cloud und ohne monatliche Kosten Smalltalk 4
Neu Fiskal Cloud Connector (FCC) 4.1.1 - verpflichtendes Update bis spätestens 31. Juli 2024? Allgemeine Fragen zu JTL-POS 5
Neu Zebra Drucker Cutter Modul (Artikeletikett) geht lokal aber nicht bei Cloud / RDP Druck Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Variationsertikel erstellen und in Woocommerce einbinden JTL-Wawi 1.9 4
Bundles erstellen - Seriennummern Verfolgung JTL-Wawi 1.9 0
Neu Wie kann ich über eigene Felder eine Mehrfachauswahl erstellen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eine weitere Datenbank erstellen Eigene Übersichten in der JTL-Wawi 2
Neu Child Template erstellen Technische Fragen zu Plugins und Templates 22
Neu Amazon Marke-Hersteller Sets erstellen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Testshop in Unterverzeichnis erstellen Betrieb / Pflege von JTL-Shop 0
Neu Exportformat erstellen Kategorie Attribute exportieren Allgemeine Fragen zu JTL-Shop 0
QR-Code erstellen und in Rechnung einfügen JTL-Wawi 1.7 3
Neu Rechnung erstellen - Zahlung hinzufügen - Ausliefern User helfen Usern - Fragen zu JTL-Wawi 2
In Bearbeitung Automatisch versenden / Lieferschein erstellen bei Rechnungserstellung JTL-Workflows - Ideen, Lob und Kritik 1
Aufträge zu fälligen Abonnements automatisch erstellen JTL-Wawi 1.9 0
Neu Eigenes weiteres Kontaktformular erstellen möglich ? User helfen Usern - Fragen zu JTL-Wawi 3
Mehrere Paketlabels zu einem Artikel erstellen JTL-Wawi 1.7 0
Neu JTL-Wawi API: Bestellungen, Angebote, Rechnungen, Lieferschein erstellen? Schnittstellen Import / Export 1

Ähnliche Themen