teamgeist Posted April 23, 2008 Report Share Posted April 23, 2008 Ja hallo erstmal, wie und wo kann ich denn wohl die Kategorie abfragen, um je nach Kategorie (switch) eins von drei Templates festzulegen? Bin für jeden Hinweis dankbar, arbeite mich grade in die Materie. Danke Teamgeist Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 template in form einer anderen stylesheet.css oder ein komplett neuer Templatepfad? Link to comment Share on other sites More sharing options...
teamgeist Posted April 23, 2008 Author Report Share Posted April 23, 2008 In Form eines neuen Templatepfades, da im anderen Template teilw. auch andere Boxen dargestellt werden sollen. Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 alsooo...das template selber wird ja im admininterface angegeben unter "Mein Shop" - D.h. das Template wird in der Datenbank fest eingetragen und ist eigentlich nur administrativ änderbar. du müsstest also die variable für diesen templatepfad anpassen, je nach kategorieID. das könnte man an verschiedenen stellen tun. eigentlich bin ich grad faul um zu nachzugucken wo man das überall festlegen kann die Kategorieanzeige selber wird in der /templates/DeinTemplate/source/boxes/categories.php erzeugt Link to comment Share on other sites More sharing options...
teamgeist Posted April 23, 2008 Author Report Share Posted April 23, 2008 Grundsätzlich habe ich schon einen templateswitcher eingebaut, vielleicht magst du ja mal unter www.1o-gmbh.de schauen, rechts unterm warenkorb ist er ;-) Die Templates zu wandeln und unterschiedliche Kategorieboxen anzusteuern habe ich auch hinbekommen. Nun soll halt nur noch, je nach Kategorie-ID eins der Templates angesteuert werden und die Auswahlbox verschwinden. Das geht auch in categories.php? Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 ahh, ohh uhhh..schönes Ding. Ja naja jedenfalls isses pauschal schwierig was zu sagen, wenn man die scripte selber nicht sieht bzw kennt vom switcher usw... ich würde in den switchboxscript die kategorieabfrage einbauen, wenn klick C11, dann template XTC4 oder so... Link to comment Share on other sites More sharing options...
teamgeist Posted April 23, 2008 Author Report Share Posted April 23, 2008 Die Auswahlbox ist von www.blogpotato.de Ich weiß nämlich grad gar nicht, in welcher Datei (welchen Dateien?) ich den Switchfall einbauen müsste.xt:C Template Switcher für 3.04 SP2.1: Alle Änderungen erfolgen auf eigene Gefahr und wie immer gilt: Backup nicht vergessen! [template] steht für den Namen des Templates /** * Template Switcher **/ /*-----------------------------------------------------------------------------------------------*/ includes/application_top.php /*-----------------------------------------------------------------------------------------------*/ Suchen nach: while ($configuration = xtc_db_fetch_array($configuration_query)) { define($configuration['cfgKey'], $configuration['cfgValue']); } Ersetzen durch: while ($configuration = xtc_db_fetch_array($configuration_query)) { // modified // msslovi0 2006-11-30 // Template-Switcher // continued after session is started if($configuration['cfgKey']=="CURRENT_TEMPLATE") { $template = $configuration['cfgValue']; } else { define($configuration['cfgKey'], $configuration['cfgValue']); } // end msslovi0 } Suchen nach: // check the Agent Danach einfügen: // modified // msslovi0 2006-11-30 // Template-Switcher, part II if(isset($_GET["tpl"])) { $_SESSION["tpl"] = $_GET["tpl"]; } if(isset($_SESSION["tpl"]) && file_exists(DIR_FS_CATALOG."templates/".$_SESSION["tpl"])) { define("CURRENT_TEMPLATE", $_SESSION["tpl"]); } else { define("CURRENT_TEMPLATE", $template); } // end msslovi0 /*-----------------------------------------------------------------------------------------------*/ includes/header.php /*-----------------------------------------------------------------------------------------------*/ Suchen nach: $smarty->assign('store_name',TITLE); Danach einfügen: // modified // msslovi0 2006-11-30 // Template-Switcher, part III $handle = opendir(DIR_FS_CATALOG."templates/"); $t_array = array(); while (false !== ($file = readdir($handle))) { if(!preg_match("/^\./", $file)) { $t_array[] = $file; } } sort($t_array); for($i=0;$i<sizeof($t_array);$i++) { $tpls[] = array("id" => $t_array[$i], 'text' => $t_array[$i]); } $parameters = xtc_get_all_get_params(array ('tpl', 'x', 'y')); parse_str(urldecode($parameters), $para); $hidden = ""; for(reset($para); $k = key($para); next($para)) { $hidden .= sprintf("<input type='hidden' name='%s' value='%s' />", $k, $para[$k]); } $t_select = xtc_draw_pull_down_menu('tpl', $tpls, CURRENT_TEMPLATE, 'onchange="this.form.submit()"'); $smarty->assign('TEMPLATE_SWITCHER', sprintf("%s%s <noscript>%s</noscript>%s</form>", xtc_draw_form('template-switcher', $PHP_SELF, 'get'), $t_select, xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE), $hidden)); // end msslovi0 /*-----------------------------------------------------------------------------------------------*/ templates/[template]/index.html /*-----------------------------------------------------------------------------------------------*/ {$TEMPLATE_SWITCHER} einbauen[/PHP] Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 very nice...in dem fall sollte man, um es einigermassen standartisiert zu halten, beide files anpassen...die application_top.php und die header.php Link to comment Share on other sites More sharing options...
teamgeist Posted April 23, 2008 Author Report Share Posted April 23, 2008 very nice...in dem fall sollte man, um es einigermassen standartisiert zu halten, beide files anpassen...die application_top.php und die header.php Glaub mir, ich hab alles versuct, bin aber leider nicht so der PHP-Crack. Kannst du, oder wer auch immer es auch für nen "dummen" erläutern? Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 Ich sitz grad aus Interesse gerade über dem Problem. Das für einen "dummen";) zu erläutern führt sehr weit und ist nicht mit kurzen worten erklärt. man muss einiges umschrauben und ummodeln um das für die kategorien lauffähig zu bekommen Link to comment Share on other sites More sharing options...
teamgeist Posted April 23, 2008 Author Report Share Posted April 23, 2008 Kein Ding, verlange gar nix und freu mich statt dessen über jeden Beitrag von dir und anderen (wo sind die eigentlich?) Ich habe ja nun die Templatesteuerung über die oberen Reiter hinbekommen, indem ich ihm den Templatenamen mitgebe ( ?tpl=firstoffice ) Kann man so evtl festlegen, dass er bei cat=c6 dieses und bei anderen eben ein anderes übergibt? Wirklich elegangt ist das aber auch nicht, gell... Link to comment Share on other sites More sharing options...
rivendarkness Posted April 23, 2008 Report Share Posted April 23, 2008 nee das fetzt so nicht wirklich. wenn ich die zeit finde morgen, werd ich ein modul schrauben. ich glaube das kommt gut an Link to comment Share on other sites More sharing options...
webkasper Posted April 23, 2008 Report Share Posted April 23, 2008 Hab ich mal irgendwo aufgeschnappt ... Funzt soweit ganz gut und ist kein Hexenwerk, ne Sache von 2 Minuten (falls verschiedene Templates vorhanden). In Datei: SHOP_ROOT/index.php => suche nach: $smarty->display(CURRENT_TEMPLATE.'/index.html'); => ersetze mit: // Template wechseln nach Kategorien switch($current_category_id) { case [B][COLOR="Red"]CATEGORY_ID[/COLOR][/B]; $smarty->display(DIR_FS_DOCUMENT_ROOT.'templates/[B][COLOR="Red"]DEIN_TEMPLATE_1[/COLOR][/B]/index.html'); break; case [B][COLOR="Red"]CATEGORY_ID[/COLOR][/B]; $smarty->display(DIR_FS_DOCUMENT_ROOT.'templates/[B][COLOR="Red"]DEIN_TEMPLATE_2[/COLOR][/B]/index.html'); break; default; $smarty->display(CURRENT_TEMPLATE.'/index.html'); } // Ende Template wechseln nach Kategorien Folgende Angaben im obigen Code ändern: CATEGORY_ID => gewünschte Kategorien ID DEIN_TEMPLATE_1 => gewünschtes Template für diese Kategrie ... etc ... Kannst also für jede einzelne Kategorie ein Template ansteuern, auch mehr als zwei ... Wenn eine Kategorie angesteuert wird die oben nicht abgefragt wird, wird das Standarttemplate gesetzt ! viel Spaß damit ;-) Link to comment Share on other sites More sharing options...
teamgeist Posted April 24, 2008 Author Report Share Posted April 24, 2008 // Template wechseln nach Kategorien //Ersetzt: $smarty->display(CURRENT_TEMPLATE.'/index.html'); switch($current_category_id) { case 6; $smarty->display(DIR_FS_DOCUMENT_ROOT.'templates/firstoffice/index.html'); break; case 11; $smarty->display(DIR_FS_DOCUMENT_ROOT.'templates/creakon/index.html'); break; case 4; $smarty->display(DIR_FS_DOCUMENT_ROOT.'templates/topseller/index.html'); break; default; $smarty->display(CURRENT_TEMPLATE.'/index.html'); } // Ende Template wechseln nach Kategorien[/PHP] Habe es wie oben eingefügt gemacht. Habe es nun probiert, allerdings gibt er mir immer das default-Template aus, die ID-Angabe als Zahl langt doch aus, oder? Ich wollte mir den Inhalt der Variable $current_category_id auch anzeigen lassen {pgp} echo $current_category_id {/php} brachte allerdings kein Ergebnis, habe diese in die index.html des Templates vor {$main_content} eingebunden, langt das nicht aus? Link to comment Share on other sites More sharing options...
rivendarkness Posted April 24, 2008 Report Share Posted April 24, 2008 Das Problem an diesem Script ist, das trotzdem die stylesheet.css vom default-template geladen wird Link to comment Share on other sites More sharing options...
teamgeist Posted April 24, 2008 Author Report Share Posted April 24, 2008 Das Problem an diesem Script ist, das trotzdem die stylesheet.css vom default-template geladen wird Du hast vollkommen recht, der Wechsel des Templates funktioniert, siehe meine Kategorieüberschriften, das Desing als solches bleibt gleich wegen des Stylesheets. Nun muss ich also mal schauen, wie ich das stylesheet Kategorieabhängig geladen bekomme Link to comment Share on other sites More sharing options...
rivendarkness Posted April 24, 2008 Report Share Posted April 24, 2008 Yupp. Ich schraube wie gesagt wie gesagt an einem Modul, wo man im Admininterface bequem für jede Kategorie ein Template zuweisen kann ohne im Quellcode was machen zu müssen. Bisher funktionierts einwandfrei und ich bin grad an den Feinheiten. Mal gucken wie ich das mi dem Stylesheet mache. Wahrscheinlich optional ob das stylesheet das templates oder des default-templates genutzt werden soll Link to comment Share on other sites More sharing options...
teamgeist Posted April 24, 2008 Author Report Share Posted April 24, 2008 Sowas wäre echt Gold (Geld) wert. Ich bin beim Forschen durch die Foren auf mehrere gestoßen, die die gleiche oder eine ähnliche Anforderung hatten wie ich. Link to comment Share on other sites More sharing options...
rivendarkness Posted April 24, 2008 Report Share Posted April 24, 2008 Ja, ich würde es als kostenpflichtigen Download anbieten. Bei Vermittlung an weitere Personen die dann das Modul kaufen kann man sicherlich eine Art Rabatt für Dich einrichten Link to comment Share on other sites More sharing options...
stwinger Posted May 3, 2008 Report Share Posted May 3, 2008 möchte mich hier mal kurz reinhängen und einen kleinen Anstoss geben, das was Ihr da vorhabt geht viel einfacher, man muss keine komplett andere index.html einer bestimmten Content ID bzw Cat. zuweisen um flexible bzw dynamische Gestaltung zu realisieren, viel einfacher geht das wenn man für jede ID eine individuelle <body id="whatever"> zuweisst. So braucht man nur eine einzige Index.html und kann alles via CSS steuern. Link to comment Share on other sites More sharing options...
teamgeist Posted May 4, 2008 Author Report Share Posted May 4, 2008 viel einfacher geht das wenn man für jede ID eine individuelle <body id="whatever"> zuweisst Klingt ja auch nicht schlecht und ich würde mich gern mal daran versuchen. An welcher Stelle weise ich denn die ID zu? Link to comment Share on other sites More sharing options...
artdesigners Posted May 29, 2008 Report Share Posted May 29, 2008 Hallo, kann mir vielleicht jemand helfen und sagen, wie man den Templatewechsel über die Navigationsreiter realisiert? Ich will also kein Wechsel nach Kategorien, sondern einfach nach der Hauptnavigation. Vielleicht kann mir jemanden einen Tipp geben wie man das macht. Habe 3 verschiedene Templates die sich je nach Klicken der 3 Navigationspunkte "Ihr Konto", "Warenkorb", "Kasse" ändern. Vielen Dank mal im voraus. Gruß Timo Link to comment Share on other sites More sharing options...
csmjbt Posted August 11, 2008 Report Share Posted August 11, 2008 Klingt ja auch nicht schlecht und ich würde mich gern mal daran versuchen. An welcher Stelle weise ich denn die ID zu? Hallo zusammen! Dieses Thema würde mich auch sehr interessieren: der Wechsel von Seitenelementen (Grafiken, Farben) je nach Kategorie-ID wäre wirklich eine gute Sache! (Nun ja, solange man es nicht übertreibt! ) Die Suche hier im Forum bringt zwar vieles aus diesem Bereich (u.a. dieser Hinweis auf eine Abfrage der Kategorie-Namen), wo ich schon dachte, Hach! Das ist es doch! und dann feststellen musste, daß der Aufruf von {$CATEGORY_NAMES[0]} kein Echo brachte. Da habe ich viellleicht eine Voraussetzung nicht erfüllt, die dort vielleicht nicht so in den Vordergrund gestelllt wurde, vielleicht einen fehlenden include oder so?! Das ganze mit einer ID des BODY-Tags über CSS zu steuern finde ich ja auch echt gut. Am besten wäre es, wenn man eine globale (also überall gültige) SMARTY-Variable hätte, die einem die ID oder den Namen der obersten Kategorien-Hierarchie zur Verfügung stellte, die man dann mit einfachen IF-ELSE-ENDIF Abfragen in Smarty nutzen kann... Ich bin kein Experte, eher PHP-Anfänger, und würde mich sehr freuen, wenn hier die Diskussion nocheinmal auflebte. Ich stelle dann auch gerne mal ein Snippet hier herein, die einen dynamischen Bilderwechsel der Produktbilder via MouseOver in der product_info_v1.html bietet, wenn es mehr als 1 Produktbild gibt ... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.