spoorn Posted July 23, 2007 Report Share Posted July 23, 2007 Ich möchte gerne zufällige Produkte auf der Titelseite anzeigen. Hat jemand einen Ansatz für mich in welche Datei ich einen passenden COde einfügen kann? Link to comment Share on other sites More sharing options...
Sebastian05 Posted July 23, 2007 Report Share Posted July 23, 2007 ahoi... das würde mich aber auch interessieren sufu hat bisher nichts ergeben Link to comment Share on other sites More sharing options...
spoorn Posted July 23, 2007 Author Report Share Posted July 23, 2007 So habe mich mal reingekniet und mal eine eigene Lösung entwickelt. Ich weiss zwar nicht wie man das ganze auf Modulbasis löst, aber auf Boxbasis ist es auch machbar: In der Headerdatei includes/header.php erstellen wir einen neue Smarty-Variable, die uns zurückgibt ob es sich um die Startseite handelt. Unter der Zeile $smarty->assign('navtrail',$breadcrumb->trail(' » ')); fügen wir unsere neue Zeile ein: $smarty->assign('startside',$category_depth=='top'?1:0); In der Index-Datei fragen wir ab, ob es sich bei der aktuellen Seite um die Startseite handel Als Aktion auf die Abfrage wird entweder die Startseitenbox angezeigt, oder der ganz normale Maincontent. {if $startside==1} {$box_startseite} {else} {$main_content} {/if} Die Box muss natürlich vorher erstellt werden. Diese besteht in der Regel aus der HTML-Vorlage und dem passenden PHP-Code. Dazu kann eine vorhandene Box unter neuem Namen kopiert werden. Dazu bietet sich die Box Bestseller an. Hier sind alle Funktionen bereits vorhanden. Mit weniig aufwand kann diese angepasst werden. Der HTML-Code liegt in: /templaes/mein.design/boxes/box_vorlage.html Der PHP-Code liegt in: /templaes/mein.design/source/boxes/box_script.php In der PHP-Datei ändert man nun noch die Zuweisung des Box-Names in den, den man in der Index-Datei verwendet hat, also '$box_startseite', den Variablennamen lässt man gleich. $smarty->assign('box_startseite', $variablennamen); Zusätzzlich muss die Vorlage-Datei noch richtig verlinkt werden mit $box_name = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_vorlage.html'); Nun muss die Box nur noch geladen werden. Dazu muss in der der Datei /templaes/mein.design/source/boxes.php noch die neue Box gelistet werden mit include(DIR_WS_BOXES . 'box_script.php'); Zufallsartikel erzeugt man in einer SQL-Abfrage mit select * from Tabelle where bedingung order by RAND() LIMIT Anzahl Ich hoffe das hilft weiter, bitte Feedback. Gruss Spoorn www.ibbb.eu Link to comment Share on other sites More sharing options...
spoorn Posted July 23, 2007 Author Report Share Posted July 23, 2007 Nach etwas testen scheint es ein kleines Problem zu geben. Seiten ohne Kategorie oder Content-Nummer werden als Startseite erkannt. Ich sehe keinen Sinn darin, jede einzelne Seite abzufragen. Gibt es eine andere Möglichkeit festzustellen, wann man auf der Titelseite ist? Problem ist gelösst! Link to comment Share on other sites More sharing options...
Rovert Posted July 23, 2007 Report Share Posted July 23, 2007 such nach "random products" Link to comment Share on other sites More sharing options...
spoorn Posted July 23, 2007 Author Report Share Posted July 23, 2007 Wie ich Zufallsprodukte hinbekomme ist mir klar, nur wie ich dir "nur" auf der Startseite anzeige ist mir nicht klar! Link to comment Share on other sites More sharing options...
spoorn Posted July 23, 2007 Author Report Share Posted July 23, 2007 Habe nun eine Lösung gefunden und den dritten Post soweit geändert. Link to comment Share on other sites More sharing options...
devran Posted July 24, 2007 Report Share Posted July 24, 2007 Hallo, ich habe so ähnliche Problem und würde mich sehr freuen, wenn ihr mir helfen könnt. Und zwar möchte ich auf mein Startseite von allen Kategorien die neuesten Artikeln anzeigen. Wie muss ich vorgehen oder was muss da machen ??? Kann mir jemand dabei Helfen ??? Oder kann mir jemand wenigstens das richtige SQL Lösung dazu sagen ??? MfG Devran Link to comment Share on other sites More sharing options...
spoorn Posted July 25, 2007 Author Report Share Posted July 25, 2007 Lösungsansatz ist der gleiche wie oben beschrieben, nur das die Sortierung nicht nach Zufall erfolgt, sondern nach dem Datum. select * from Tabelle order by Datum desc Limit Anzahl Im konkreten Fall wäre das dann: select distinct p.products_id, p.products_image, p.products_price, p.products_tax_class_id, pd.products_short_description, pd.products_name from ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_status = '1' ".$group_check." and p.products_image <> '' and p.products_id = pd.products_id ".$fsk_lock." and pd.language_id = '".(int) $_SESSION['languages_id']."' order by p.products_date_added desc LIMIT 5 ; Das ganze machst du dann für jede Kategorie. Bitte Feedback. Gruss Spoorn www.ibbb.eu Link to comment Share on other sites More sharing options...
devran Posted July 25, 2007 Report Share Posted July 25, 2007 Hi, danke für deine Hilfe aber das war nicht ganz was ich gesucht habe... Aber trotzdem dankeschön... Ich habe es inzwischen gelöst und funktioniert perfekt... Danke noch mals... MfG Devran Link to comment Share on other sites More sharing options...
c-ool Posted August 26, 2007 Report Share Posted August 26, 2007 Hallo Devran, um anderen Leuten zu helfen wäre es sinnvoll, wenn Du Deine Lösung posten würdest! DAS nennt man Community ;-) (Hätte auch Interesse ;-)) Link to comment Share on other sites More sharing options...
devran Posted August 28, 2007 Report Share Posted August 28, 2007 Hallo Devran, um anderen Leuten zu helfen wäre es sinnvoll, wenn Du Deine Lösung posten würdest! DAS nennt man Community ;-) (Hätte auch Interesse ;-)) Hallo, ja gern nur es ist jetzt echt kompliziert euch die lösung zu erklären. So einfach ist bzw. war es nicht zu lösen. Denn ich habe nicht nur die MySQL Abfrage geändert sondern auch an einigen Dateien entsprechendes Quelltext. Habe es erweitert und dazu bräuchte man in PHP programmier kenntnisse. MfG Devran Link to comment Share on other sites More sharing options...
c-ool Posted August 29, 2007 Report Share Posted August 29, 2007 Also keine "Einbauanleitung" möglich wie etwa: Öffne Datei xyz Suche nach (...code...) ungefähr in Zeile Z Füge davor/danach ein (...code...) Schade. Und vielleicht noch die Info was das Modul dann wirklich bewirkt (sprich was von den Wünschen wurde umgesetzt). Nagut .. dann eben nicht Link to comment Share on other sites More sharing options...
conny2540 Posted September 1, 2007 Report Share Posted September 1, 2007 Ein fertiges random Modul gibt es für sehr wenig Geld zum Kaufen. Google benutzen, da man hier ja keine Werbung machen darf. Habe es im Einsatz und läuft perfekt. Damit es auf der ersten Seite läuft, sind auch DB-Änderungen notwendig. Kleiner Tipp für die Suche: ich habe als Suchbegriff happy hour modul xtc eingegeben. Anbieter ?????layout???? LG Conny Link to comment Share on other sites More sharing options...
c-ool Posted September 2, 2007 Report Share Posted September 2, 2007 Danke Conny. Habe jetzt auch eine kostenfrei Möglickeit mit Einbauanleitung gefunden: http://www.xt-commerce.com/forum/showthread.php?t=34907 Nicht irritieren lassen ... es ist zwar ein "New Products" Modul. Aber es hat den Vorteil, dass es immer eine zufällige Auswahl aus den neuen Produkten des Katalogs wählt, ohne dass man sie für die Startseite assignen muß. Ich habe das jetzt so gelöst, dass ich unter Gültigkeit für neue Produkte in den Standardeinstellungen 365 Tage eingetragen habe. Damit sind dann alle Produkte des letzten Jahres im Pool für die Zufallansicht ;-) Link to comment Share on other sites More sharing options...
conny2540 Posted September 2, 2007 Report Share Posted September 2, 2007 Hallo c-cool, welche Shop-Version hast Du ? Das Modul whats_new ist ja bereits Bestandteil der Shop-Version 3.0.4 sp 2 und aufwärts. Ist eine Box die man wie Du beschrieben hast im Admin steuern kann. Das was ich meinte ist jedoch ein random auf der Startseite. Hier werden aus allen in der DB vorhandenen Produkte eine Auswahl (auch sehr alte, schon vergessene Produkte) auf der Sartseite immer wieder neu angezeigt. Auch hier kann man die Produktanzahl im Admin frei definieren. LG Conny Link to comment Share on other sites More sharing options...
zauberhand Posted September 26, 2007 Report Share Posted September 26, 2007 Zufallsartikel auf der Startseite für sp2.1 includes/modules/new_products.php suche dir die zeile ca. 36 und änder die sql abfrage in QUELLTEXT $new_products_query = "SELECT * FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd WHERE p.products_id=pd.products_id and p.products_status = '1' ".$group_check." ".$fsk_lock." and p.products_status = '1' and pd.language_id = '".(int) $_SESSION['languages_id']."' order by RAND() ASC limit ".MAX_DISPLAY_NEW_PRODUCTS; } else { zu sehen unter http://www.laptop-cover-design.de Link to comment Share on other sites More sharing options...
rivella Posted September 26, 2007 Report Share Posted September 26, 2007 Einorder by RAND() ist bei vielen Artikeln und vielen Besuchern ein Performancekiller. Eine bessere Lösung gibt es hier: http://jan.kneschke.de/projects/mysql/order-by-rand Link to comment Share on other sites More sharing options...
c-ool Posted September 26, 2007 Report Share Posted September 26, 2007 @Conny das erwähnte Modul "whats new" (keine Box, link ist oben) ermöglicht es zufällige Produkte auf der Startseite im normalen main-Bereich anzuzeigen. (bloß der Name "whats-new" ist ein wenig verwirrend .. aber klappt) meine Shopversion ist die 3.0.4SP2.1 Link to comment Share on other sites More sharing options...
rivella Posted September 26, 2007 Report Share Posted September 26, 2007 @Conny das erwähnte Modul "whats new" (keine Box, link ist oben) ermöglicht es zufällige Produkte auf der Startseite im normalen main-Bereich anzuzeigen. (bloß der Name "whats-new" ist ein wenig verwirrend .. aber klappt) meine Shopversion ist die 3.0.4SP2.1 Wie das? Kannst Du eine Beschreibung anfügen? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.