Zurück   xt:Commerce Webshop Shop Support > xt:Commerce Shopsoftware Community Area > Allgemeine Diskussionen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 01.06.2011, 23:11
Neuer Benutzer
 
Registriert seit: 30.05.2011
Beiträge: 15
Standard {content} erweitert - DatenbankID bestimmt Variablennamen in Template

Hallo!

Ich bin neu hier und lerne gerade XTCommerce um für einen Kunden die Templates anzupassen. Heute habe ich mir Wissen über den content manager und die Ausgabe von Content angeeignet.

Was ich da sehen musste hat mich echt entsetzt. Da ist es wirklich so, dass der Wert einer Autoinc-Spalte festlegt, wie Variablen im Template heissen - $_content_1,$_content_2,... $_content_n. Ich persönlich finde das echt - nö, da fällt mir nix mehr ein. Sorry Leute.

Das heißt für mich, dass ich jetzt die Templates programmiere, sie dem Kunden ausliefere und nachdem er die Inhalte erstellt hat(Die er momentan nicht testen kann) ich die Templates überarbeiten muss.

So weit so gut.

Mein Kunde hat auch folgenden Wunsch:
Auf jeder Seite gibt es neben dem normalen Content drei Banner, die er pro Contentseite extra festlegen können will.

Mein Ansatz ist folgender:
1. Er legt alle Banner einzeln als content an.
2. Er bildet mit contentblöcken die gewünschte dreiergruppen.
3. In den Metatags(oder ein anderes Feld, dass wir nicht verwenden) schreibt er die ID der Banner-Gruppe, die angezeigt werden soll.

Technisch lässt sich dies momentan nicht umsetzen. Warum? Ich kann zwar an {content} die ID als variable übergeben. Leider habe ich es aber nicht geschafft, die variable $_content_[ID] dynamisch anzusprechen.

Um die Abhängigkeit von der ID aus der Datenbank aufzulösen und um mit {content} arbeiten zu können wenn ich die ID nicht kenne, habe ich meine content-Funktion so erweitert, dass ich ihr mitteilen kann wie die erzeugt variable heißen soll. Wenn man outvar nicht angibt arbeitet content wie gewohnt.

Anwendung:
PHP-Code:
{content block_id=10 levles=true outvar="myVar"}
  {if 
$myVar|count 0}
    {foreach 
name=aussen item=box_data from=$myVar}
      {
$box_data.title}
    {/foreach}
  {/if} 
Source:
PHP-Code:
function smarty_function_content($params, & $smarty) {
    global 
$_content$xtPlugin;

    
$block = (int) $params['block_id'];
    
$cont = (int) $params['cont_id'];

    
$nested false;
    if (
$params['levels'] =='nested') {
        
$nested true;
    }

    if (!isset(
$block) && !isset($cont)) return;

    if(
$block!=''){

        if (isset(
$params['levels'])) {
            
$content_array $_content->getContentBox($block$nested);
        } else {
            
$content_array $_content->get_Content_Links($block);
        }

        (
$plugin_code $xtPlugin->PluginCode('smarty_function_content:content_array')) ? eval($plugin_code) : false;
        
        
$outvar '_content_'.$block;
        if (
$params['outvar']){
            
$outvar $params['outvar'];
        } 
        
        
$smarty->assign($outvar,$content_array);
    }

    if(
$cont!=''){
        if (
$params['is_id']=='false') {
            
$content $_content->getHookContent($cont);
        } else {
            
$content $_content->getHookContent($cont'true');
        }
    
        (
$plugin_code $xtPlugin->PluginCode('smarty_function_content:content')) ? eval($plugin_code) : false;
        
        
$outvar '_content_'.$cont;
        if (
$params['outvar']){
            
$outvar $params['outvar'];
        } 
        
$smarty->assign$outvar$content );
    }

    return;

Dieser Code ist ungetestet, aber die Idee kommt rüber, denke ich.

lg,

Michael

Geändert von mlueft (01.06.2011 um 23:19 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bestimmt, content, datenbankid, erweitert, template, variablennamen

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
VEYTON SHOP Problem bei Template. Content nicht 100% breite chefjaeger Fragen zur Software 1 18.03.2010 20:08
Template Content über jquery nachladen nacura Fragen zur Software 0 27.10.2009 10:04
Neues Content Template erstellen teamelox Template System 2 25.10.2007 14:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:09 Uhr.

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

xt:Commerce is a SafeCharge brand