ackergiganten Posted September 12, 2012 Report Share Posted September 12, 2012 Hallo, ich möchte gern Kategorien und Artikel anlegen, die nur angezeigt werden wenn der Kunde rechts oben die Sprache "Deutsch" wählt und einige die nur angezeigt werden wenn "englisch" ausgewählt wird. Leder werden die Kategorien im Deutschen ebenfalls angelegt und im deutsche angezeigt. Ich geb beim Deutschen-Unterpunkt einen Text an, so wird nur ein schmaler streifen unter den anderen Kategorien angezeigt. Kann ich da irgendwie was machen? Danke Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Moin, du könntest in der box_categories.html folgedes if/else Konstrukt erstellen: {if $language == 'de'} {foreach name=catOuter item=category from $_categories} {if $category.name != ''} Deine Darstellung hier rein {/if} {/foreach} {elseif $language == 'en'} {foreach name=catOuter item=category from $_categories} {if $category.name != ''} Deine Darstellung hier rein {/if} {/foreach} {/if} [/PHP] Dann werden die Kategorien die in ausgewählter Sprache keinen Namen haben nicht mehr angzeigt. LG Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 das will ich gleich einmal ausprobieren. Gibt es eine bestimmte stelle wo ich das einfügen muss in der Datei? Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 zur Zeit lautet die Datei so: <h2 class="boxheader">{txt key=TEXT_BOX_TITLE_CATEGORIES}</h2> <ul id="categorymenu"> {foreach name=aussen item=module_data from=$_categories} <li class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$module_data.categories_name}</a></li> {/foreach} </ul> Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Moin, ich hab noch mal drüber geschaut und gemerkt man kann es auch kürzer haben. Ersetze den bisherigen Code durch folgenden: <h2 class="boxheader">{txt key=TEXT_BOX_TITLE_CATEGORIES}</h2> <ul id="categorymenu"> {foreach name=aussen item=module_data from=$_categories} {if $module_data.name != ''} <li class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$ module_data.categories_name}</a></li> {/if} {/foreach} </ul> [/PHP] Mach dir aber eine Sicherungskopie der Originaldatei. Das sollte iegentlich so schon laufen, solange du bei den ungewollten Sprachen keinen Namen einträgst. LG Link to comment Share on other sites More sharing options...
oldbear Posted September 12, 2012 Report Share Posted September 12, 2012 hallo, glaube nicht , dass das so geht, da ja nur die Kategoriebeschreibungen sprachabhängig sind und nicht die Kategorien an sich. Ich würde dazu ein Zusatzfeld in der xt_categories anlegen, z.B. categories_sprache_de_status TINYINT(1) default '1' sowie categories_sprache_en_status TINYINT(1) default '1' . Damit sind im Backend schon mal zwei ( vorbelegte ) Checkboxen vorhanden. Wenn eine Sprache nicht angezeigt werden soll, Häkchen raus. Die kann man dann leicht im Template abfragen ( ungetestet ): {foreach name=aussen item=module_data from=$_categories} {if ($language == 'de' and $categories_sprache_de_status == '1') or ($language == 'en' and $categories_sprache_en_status == '1'))} <li class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$ module_data.categories_name}</a></li> {/if} {/foreach}[/HTML] Das ist natürlich auch noch unperfekt, man müsste wahrscheinlich auch noch die Suche anpassen und denn über die Suche oder das Herstellerlisting werden die Artikel weiterhin gefunden und in diversen Plugins auch .... ein Rattenschwanz Grüsse Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Moin, oldbear hat recht. Der Name ist tatsächlich nicht sprachabhängig. Aber man könnte doch anstelle von $module_data.name $module_data.categories_heading_title abfragen. Das wiederum müsste doch sprachabhängig sein. Die Lösung ist wirklich nur ein Anzeige-Workaround. Am besten könnte man sowas mit Benutzergruppen abfangen. Dazu müsste man aber die Benutrzerguppe in abhängigkeit zu der gewählten Sprache verändern...also auch nicht mal eben so aus dem Hut zu zaubern. LG Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 @sentor77: die Seite wird weiß und nur oben links werden nur ein paar Befehle angezeigt. Siehe Datei. @oldbear: leider kann ich nicht ganz folgen, mit solchen komplexen Einstellungen kenne ich mich leider nicht aus. Was ich nicht verstehe, bei den Artikel funktioniert es doch auch. Wenn ich die "deutschen" Felder nicth fülle wird es nicht angezeigt. Warum geht das mit den Kategorien nicht???? Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Ändere mal {if $module_data.name != ''} [/PHP] durch [PHP]{if $module_data.categories_heading_title != ''} [/PHP] Vor dem Ende der Klammer stehen 2 Single quotes also 2x ' und nicht 1x " Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 Sorry, von welchem Inhalt sprechen wir jetzt, vom Standard oder schon von den Vorschlägen von Euch? Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Ich hab den Fehler gefunden. Das hier klappt. habe es gerade getestet. Wie gesagt, dient nur der Anzeige. <h2 class="boxheader">{txt key=TEXT_BOX_TITLE_CATEGORIES}</h2> <ul id="categorymenu"> {foreach name=aussen item=module_data from=$_categories} {if $module_data.categories_heading_title != ''} <li class="level{$module_data.level}{if $module_data.active} active{/if}"><a href="{$module_data.categories_link}" title="{$module_data.categories_heading_title}">{$module_data.categories_name}</a></li> {/if} {/foreach} </ul> [/HTML] LG Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 super, jetzt ist auf jeden Fall die Seite da, aber meine Kategorien, die ich "Deutsch" schon angelegt habe sind WEG!!!!! Also werden nicht angezeigt :-( Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Moin, ich hab das jetzt noch einmal durch getestet. Wir reden doch von der Kategorie Box, oder? Das merkwürdige ist, wenn ich nur in englisch die Felder fülle und deutsch leer lass, dann habe ich die Kategorie nicht in meinem Array stehen und somit wird sie auch nicht angezeigt. Also genau das was du gerne möchtest passiert bei mir automatisch. Welche Shop-Version nutzt du? Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Achso, nochwas. Der Code den ich dir oben gepostet habe prüft jetzt nicht mehr ob de rName in der Sprache eingetragen wurde sonder ob die Überschrift eingetragen wurde. Das könnte somit dein Fehler sein, wenn du in den deutschen Kategorien keine Überschrift eingetragen hast. LG Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 die aktuellste, hab sie erst am wochenende heruntergeladen. ich glaube ich weiß wo der fehler ist, bei mir ist das so, wenn ich etwas in die "deutschen" felder schreibe und speichere, das anschließend wieder entferne und nur das in den "englischen" feldern stehen lasse, dann zeigt er die sachen auch auf der deutschen seite an. Wenn ich von anfang an nur etwas in die englischen felder schreibe, dann funktinoiert das bei mir auch. Hätte ich das vorher gewusst, hätten wir uns das alle sparen können! VIELEN DANK ERST EINMAL Link to comment Share on other sites More sharing options...
Sentor77 Posted September 12, 2012 Report Share Posted September 12, 2012 Kein Ding. Ich hätte es ja auch einfach vorher mal testetn können... Kleiner Tip noch, der dir eine Menge Arbeit sparen kann: geh mit phpMyAdmin in die Datenbank in die Tabelle xt_categories_description und schaue dir entsprechende Kategorien an und lösche direkt aus der DB die deutschen Felder wo sie nicht mehr hingehören. Viel Erfolg weiterhin Link to comment Share on other sites More sharing options...
ackergiganten Posted September 12, 2012 Author Report Share Posted September 12, 2012 könnte ich jetzt noch zur krönung oben die länderflagge neu verlinken und zwar auf www.domain.de/en, denn dann bin ich direkt wieder auf der startseite und halt alles auf englisch! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.