#1 (permalink)  
Alt 31.05.2007, 20:03
Neuer Benutzer
 
Registriert seit: 27.05.2004
Beiträge: 7
Standard Wie funktioniert das ???

Guten Abend,
ich habe in den Live! Shops diese Seite gefunden:

http://www.intensive-care-cosmetics.de/

Dort gibt es drei Kategorien in drei Farben/Templates und ein Grundtemplate in Grau.
Wenn man sich den Quellcode anguckt, erkennt man das verschiedene css-Dateien geladen werden.

Ist das die Lösung?
Wenn ja, wie realisiert man sowas?

Radi
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 03.06.2007, 15:09
Neuer Benutzer
 
Registriert seit: 17.10.2006
Beiträge: 10
Standard

Hallo,
ich bin gerade auch an dem gleichen Thema. Habe aber noch keinen richtigen Ansatz. Bis jetzt versuche ich mich gerade an dieser Version.

Aus der URL die Rubrik NR. auslesen und entsprechend eine CSS Datei laden.
Geht aber noch nicht mit Artikel Details.

Füge folgenden Code in die Datei: includes/header.php ein.

PHP-Code:
<?php

// CSS Style changer

$a substr($_SERVER['PHP_SELF'], 20); 
$a explode("_"$a);

switch (
$a[0]) {
case 
1:
    
$cssstyle "/stylesheet1.css";
    break;
case 
2:
    
$cssstyle "/stylesheet2.css";
    break;
case 
3:
    
$cssstyle "/stylesheet3.css";
    break;
default: 
    
$cssstyle "/stylesheet.css"
}


if (!
file_exists('templates/'.CURRENT_TEMPLATE.$cssstyle)) {
    
$cssstyle "/stylesheet.css";
}

?>

<link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.$cssstyle?>" />
Wenn jemand aber eine bessere Idee hat, bin ich auch dankbar.


www.basic-home.de

Geändert von shopler (08.06.2007 um 10:50 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 05.06.2007, 11:09
Neuer Benutzer
 
Registriert seit: 17.10.2006
Beiträge: 10
Standard update:

So, habe das Thema noch ein wenig optimiert.
Jetzt wird jede Rubrik und das enthaltene Angebot mit dem jeweiligen CSS formatiert.

Änderug in:
includes/application_top.php

Folgende Funktion ganz unten über xtc_count_cart(); einfügen:
PHP-Code:
function mycategoryid (){
    global 
$cPath_array;
    return 
$cPath_array[0]; //mit suchmaschinenfreundlichen links [0] ohne [1]

Änderung in:
includes/header.php

PHP-Code:
// CSS Style changer
switch (mycategoryid()) {
case 1:
    $cssstyle = "/stylesheet1.css";
    break;
case 2:
    $cssstyle = "/stylesheet2.css";
    break;
case 3:
    $cssstyle = "/stylesheet3.css";
    break;
default:
    $cssstyle = "/stylesheet.css";
}

if (!file_exists('templates/'.CURRENT_TEMPLATE.$cssstyle)) {
    $cssstyle = "/stylesheet.css";
}

<link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.$cssstyle?>" />

www.basic-home.de

Geändert von shopler (08.06.2007 um 10:50 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 18.06.2007, 23:08
Erfahrener Benutzer
 
Registriert seit: 22.02.2006
Beiträge: 120
Standard

"Aus der URL auslesen" kann (je nach URL und je nachdem wonach man sucht) zu uneindeutigen Ergebnissen führen. Und wenn man irgendwann Erweiterungen (wie z.B. ShopStat) installiert, ändern sich die URLs und die ganzen Funktionen greifen nicht mehr.

Ich regel solche "Inhalts abhängigen" Umgestaltungen lieber mit ein paar global verfügbaren Variablen, zum Beispiel $_SESSION, $this, $GLOBALS ...

Damit kann man auch Änderungen an System-Dateien umgehen.

Und wenn's um unterschiedliche Stylesheets geht, brauchst Du die nicht in der application_top.php aufzurufen. Nimm dazu besser die "general.js.php" im Template-Ordner "javascript" - Die wird ja ohnehin im HTML-Header eingefügt.

Probier's mal aus, Du kannst ja PHP im Template verwenden.

Code:
<pre>{php}print_r($GLOBALS[cPath_array]);{/php}</pre>
... oder wenn Du direkt nur die momentan aktive Kategorie brauchst

Code:
<pre>{php}print_r($GLOBALS[current_category_id]);{/php}</pre>
:-)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 15.08.2007, 12:01
xt:Commerce Support Kunde
 
Registriert seit: 18.09.2004
Beiträge: 197
Standard ...super

... das klingt nach genau der Lösung, die ich brauche ... aber wie kombiniert man die beiden hier geschilderten Ansätze bzw. was muss ich in die general.js.php nun eintragen ...

bin leider ne null in sachen php ...

DANKE!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 19.08.2007, 23:54
Erfahrener Benutzer
 
Registriert seit: 22.02.2006
Beiträge: 120
Standard

Der von "shopler" beschriebene Weg müsste eigentlich ziemlich direkt in die js-Datei übernommen werden können.

Du brauchst also prinzipiell eine Funktion, die "erkennt wo Du bist" - und die Ergebnisse zurückgibt, mit denen Du Deine verschiedenen Styles unterscheiden kannst.

:-)

Beziehungsweise ...

Na, die Funktion muss gar nicht, wirklich "erkennen", welcher Shop-Bereich aktiv ist - das weiß der Shop ja ohnehin selbst - sonst würden die ganzen Geschichten wie BreadCrumb, aktive Kategorie-Markieren etc. überhaupt nicht funktionieren können ...

Man muss sich eigentlich nur die globale Variable herauspicken, die einen weiterbringt bzw. die für das, was man erreichen will, auch das richtige "Kriterium" ist. Das ist insbesondere bei Kategorien oftmals auch Geschmacksache - Einige globale "Kategorien-Bezeichner" sind zum Beispiel "an" bzw. "gesetzt", wenn man gar nicht in einer Kategorie ist - sondern sich bloß eine Produktbewertung eines Produktes in dieser Kategorie anguckt. Oder was soll z.B. in der Unterkategorie einer Kategorie passieren?

Zweifelsfälle ... *Beispiel-aus-den-Fingern-saug* .... Wenn Kategorie Rasenmäher irgendwie grün sein soll - aber man guckt sich grad das Verlängerungskabel an, das a) als Zubehör für Rasenmäher und b) als Zubehör für Gartenhäcksler (irgendwie braun) einsortiert ist?

Es kommt da hauptsächlich auf die gewünschte "Verhaltensweise" an, was für Layout A klasse klappt, kann für B wiederum völlig ungeeignet sein ...



--> Prinzipiell jedenfalls kann man sein Layout so ziemlich allen Bedingungen und jedem Piesepampel abhängig machen ...
("wenn Anzahl Produkte im Warenkorb Schnappszahl, dann Foto von Jägermeisterbuddel einblenden" ...)
--> Dieser Piesepampel muss halt bloß "bekannt" sein - oder sich aus "bekannten Daten" zusammensetzen.

Tipp:

Was alles bekannt ist, kann man sich gesammelt anzeigen lassen: Einmal
<pre>{php} print_r($GLOBALS); {/php}</pre> in die index.html schreiben Shop aufrufen - Quelltext angucken - ... Nagut. Übersichtlich ist etwas anderes - da kann man ... laaaange scrollen. Ist n Haufen.

Scrollen lohnt sich aber - Oft kann man sich ne Menge Programmier-Arbeit sparen - da die Daten, die man haben möchte, dem System ohnehin schon bekannt sind - und nur noch angezeigt werde müssten.


Für Dich interessant:

Probier doch erst mal aus, was die erwähnte "js.php"-Datei so macht - die ist zwar ursprünglich für die Leute gedacht, die ihren Shop mit noch mehr überflüssigem JS-Blödsinn vollpupen wollen - Alles was dort reingeschrieben wird, erscheint im HTML-Header einer jeden Shopseite.



Man kann dort z.B.

a) Alle im Shop benutzten JavaScripts direkt reinschreiben (und die schöne xt:C Tradition, ne ganze Bildschirmseite voller Quelltext aufzubauen, bevor das erste Sterbenswörtchen lesbarer Inhalt auftaucht gediegen fortsetzen) - wer will, kann den Header dort nach Herzenslust weiter zumüllen.
b) Man kann seine Scripts dort natürlich auch via Verlinkung aufrufen. Also dazu ist das Teil eigentlich gedacht.

Interessant wird die Geschichte aber, weil es eine ".php"-Datei ist - Man kann dort also ein bisschen mehr anstellen, als "statische Texte automatisch vor jede Seite zu klatschen"

c) PHP-Code wird in der "general.js.php" interpretiert - und die gesamte Datei wird "ausgeführt" bevor sie "includet" wird. Das heißt also, dass sich ihr Inhalt auch dynamisch verändern lässt - und man eine bequeme Möglichkeit hat, ein paar Spezialfunktionen einzubauen.

Also ein komfortabler Weg, in deinem Shop bei Zustand "A = blablabla" andere Informationen in den Header zu schreiben als bei Zustand "A = tralala". Und nachdem Stylesheet-Aufrufe ohnehin in den Header gehören - ist die js-Datei der ideale Ort für sowas.

--> Vorteil: Diese "Veränderungen" gelten damit auch NUR für das aktive Template - Wenn Du dann ein anderes Template einschaltest, interessiert sich DAS dann nicht mehr für deine "tralala-von-blablabla"-Unterscheidungen.
--> Wenn Du hingegen in der "applicationtop-Dings" herumbastelst, ist das eine System-Datei die immer so ausgeführt wird, wie Du sie geändert hast. Egal, welches Template Du installierst.

Geändert von pufaxx (20.08.2007 um 01:21 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
funktioniert

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Login funktioniert nicht weichsel Admininterface 14 30.01.2009 21:51


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand