V1.0.10 gunnart v1: Unterschied zwischen den Versionen
Yogi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Beschreibung der nötigen Anpassungen damit ein auf gunnart_v1 basierendes Template mit der V1.0.10 funktioniert = class template = Bisher wurde smarty immer üb…“) |
Yogi (Diskussion | Beiträge) |
||
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
Bisher wurde smarty immer über die Klasse "smarty" implementiert, was zur folge hatte das man jedes mal diverse Einstellungen setzten mußte. | Bisher wurde smarty immer über die Klasse "smarty" implementiert, was zur folge hatte das man jedes mal diverse Einstellungen setzten mußte. | ||
Nun gibt es eine Klasse "template" welche diese Default-Einstellungen übernimmt. Damit das Template funktioniert sollten alle Vorkommen von "new smarty" durch "new template" ersetzt werden: | Nun gibt es eine Klasse "template" welche diese Default-Einstellungen übernimmt. Damit das Template funktioniert sollten alle Vorkommen von "new smarty" durch "new template" ersetzt werden: | ||
+ | $smarty = new smarty; | ||
+ | wird zu | ||
+ | $smarty = new template; | ||
+ | |||
+ | |||
+ | Zuweisungen zur Sprache und zum Templatepfad sollten entfernt werden: | ||
+ | $box_smarty->assign('language', $_SESSION['language']); | ||
+ | $box_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/'); | ||
+ | |||
+ | In diesen Dateien wird außerdem beim Zugriff auf das Template der Pfad zur Templatedatei i.d.R. mit '''CURRENT_TEMLATE.'/''' angegeben, was nun ebenfalls entfallen muss: | ||
+ | $box_admin = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_admin.html'); | ||
+ | wird zu | ||
+ | $box_admin = $box_smarty->fetch('boxes/box_admin.html'); | ||
+ | |||
+ | Folgende Dateien sind so zu ändern: | ||
; source/boxes/ | ; source/boxes/ | ||
:* add_a_quickie.php | :* add_a_quickie.php | ||
Zeile 28: | Zeile 43: | ||
:* specials.php | :* specials.php | ||
:* whats_new.php | :* whats_new.php | ||
+ | |||
+ | = header = | ||
+ | Die header.php ist nun ins Template verschoben - hierfür ist folgendes zu tun. Zunächst in der index.html die Zeile | ||
+ | {config_load file="$language/lang_$language.conf" section="index"} | ||
+ | durch folgendes ersetzen: | ||
+ | <pre>{header} | ||
+ | {config_load file="$language/lang_$language.conf" section="index"} | ||
+ | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
+ | <html{if $HTML_PARAMS} {$HTML_PARAMS}{/if}> | ||
+ | <head> | ||
+ | <title>{$META.title}</title> | ||
+ | {foreach from=$META.http_equiv item=m key=k} | ||
+ | {if $m} | ||
+ | <meta http-equiv="{$k}" content="{$m}" /> | ||
+ | {/if} | ||
+ | {/foreach} | ||
+ | {foreach from=$META.name item=m key=k} | ||
+ | {if $m} | ||
+ | <meta name="{$k}" content="{$m}" /> | ||
+ | {/if} | ||
+ | {/foreach} | ||
+ | <base href="{$BASE_HREF}" /> | ||
+ | {css} | ||
+ | <link rel="shortcut icon" href="/favicon.ico" /> | ||
+ | {* googleAnalytics account=UA-XXXXXXX-X trackOrders=true *} | ||
+ | {* piwik url=piwik.example.com id=1 goal=1 *} | ||
+ | </head> | ||
+ | <body> | ||
+ | |||
+ | {if $smarty.session.customers_status.customers_status_id == 0} | ||
+ | |||
+ | {if $MESSAGES.warning} | ||
+ | <div class="messages warnings"> | ||
+ | {foreach from=$MESSAGES.warning item=item} | ||
+ | <div class="warning">{$item}</div> | ||
+ | {/foreach} | ||
+ | </div> | ||
+ | {/if} | ||
+ | {/if}</pre> | ||
+ | |||
+ | Am Ende dieser Datei muss jetzt noch das neue Javascript handling integriert werden und der HTML-Code abgeschlossen werden. Hierfür einfach folgendes am Ende der Datei einfügen: | ||
+ | <pre>{if $BANNER} | ||
+ | {$BANNER} | ||
+ | <hr class="Break" /> | ||
+ | {/if} | ||
+ | {javascript} | ||
+ | </body> | ||
+ | </html></pre> | ||
+ | |||
+ | Nun noch eine source/template_defaults.php mit folgendem Inhalt anlegen, bei der jquery Version natürlich darauf achten welche Ihr bisher benutzt habt: | ||
+ | <pre><?php | ||
+ | |||
+ | // define CSS files for CS compressor | ||
+ | |||
+ | $css_files = array( | ||
+ | 'all' => array( | ||
+ | 'stylesheet.css', | ||
+ | 'boxes.css', | ||
+ | 'thickbox.css', | ||
+ | ), | ||
+ | ); | ||
+ | |||
+ | $js_files = array( | ||
+ | 'javascript/bottom.js.php', | ||
+ | 'javascript/general.js.php', | ||
+ | 'javascript/jquery-1.4.2.min.js', | ||
+ | 'javascript/jquery.countdown-de.js', | ||
+ | 'javascript/jquery.countdown.js', | ||
+ | 'javascript/template.js', | ||
+ | 'javascript/thickbox.js', | ||
+ | );</pre> | ||
+ | |||
+ | = Produktbilder = | ||
+ | Es gibt eine neue Smartyfunktion um die Produktbilder darzustellen. Dieser wurde von den Entwicklern {img} genannt. Im Gunnart-Template gibt es leider auch schon eine Smartyfunktion mit Namen {img}. Diese muss zunächst zu img_gunnart umgenannt werden. Hierfür muss sowohl die Datei als auch die funktion in der Datei umgenannt werden: | ||
+ | smarty/function.img.php => smarty/function.img_gunnart.php | ||
+ | in dieser Datei nun noch die folgende Zeile | ||
+ | function smarty_function_img($params, &$smarty) { | ||
+ | auf | ||
+ | function smarty_function_img_gunnart($params, &$smarty) { | ||
+ | ändern. | ||
+ | == modules/product_info == | ||
+ | Damit die Produktbilder in der Produktinformation angezeigt werden sind zwei änderungen an der product_info Vorlage nötig. Die entsprechende Datei befindet sich im Verzeichnis modules/product_info/ und heißt im original-Template product_info_v1.html | ||
+ | |||
+ | In jeder Datei in diesem Verzeichnis sind nun die folgenden Änderungen durchzuführen: | ||
+ | Füge folgende Zeile am Anfang der Datei ein: | ||
+ | {product_images prd_id=$PRODUCTS_ID} | ||
+ | |||
+ | Suche nun folgenden Block <pre><tr> | ||
+ | <td><a href="{$PRODUCTS_IMAGES.0.popup}" title="{$PRODUCTS_NAME}" class="thickbox"><img src="{$PRODUCTS_IMAGES.0.info}" alt="{$PRODUCTS_NAME}" /></a></td> | ||
+ | </tr> | ||
+ | |||
+ | <!-- more images --> | ||
+ | {foreach from=$PRODUCTS_IMAGES item=IMG name=images} | ||
+ | {if !$smarty.foreach.images.first} | ||
+ | <tr> | ||
+ | <td style="border-top: 1px solid; border-color: #cccccc;"> | ||
+ | <a href="{$IMG.popup}" title="{$PRODUCTS_NAME}" class="thickbox"><img src="{$IMG.info}" alt="{$PRODUCTS_NAME}" /></a> | ||
+ | </td> | ||
+ | </tr> | ||
+ | {/if} | ||
+ | {/foreach} | ||
+ | <!-- more images eof --> | ||
+ | </pre> und ersetzte diesen durch | ||
+ | {foreach from=$PRODUCTS_IMAGES item=image key=id} | ||
+ | <tr class="TODO"> | ||
+ | <td{if $id > 0} style="border-top: 1px solid; border-color: #cccccc;"{/if}><a href="{img | ||
+ | img_id=$image.ID | ||
+ | src=$image.FILE | ||
+ | preset="POPUP" | ||
+ | prd_id=$PRODUCTS_ID | ||
+ | path_only=true}" title="{$PRODUCTS_NAME}" class="thickbox"> | ||
+ | {img | ||
+ | img_id=$image.ID | ||
+ | src=$image.FILE | ||
+ | preset="INFO" | ||
+ | prd_id=$PRODUCTS_ID | ||
+ | alt=$image.ALT | ||
+ | title=$image.TITLE}</a></td> | ||
+ | </tr> | ||
+ | {/foreach} | ||
+ | |||
+ | == modules/product_listing == | ||
+ | Das Produktlisting wird bei angezeigt wenn in einer Kategorie Produkte vorhanden sind. Hierbei wird das Kategoriebild über die oben erwähnte img-Funktion des Templates angezeigt. Diese stelle muß also verändert werden damit das Kategoriebild wieder funktioniert. Suche dafür in allen Dateien in dem Verzeichnis module/product_listing nach | ||
+ | {img src=$CATEGORIES_IMAGE alt=$CATEGORIES_NAME} | ||
+ | und ersetzte es durch | ||
+ | {img_gunnart src=$CATEGORIES_IMAGE alt=$CATEGORIES_NAME} | ||
+ | |||
+ | Die Anzeige der Produkte wird hierbei über ein Snippet realisiert - genauer gesagt über eine Snippet-Kette: | ||
+ | Das zunächst benutzte Snippet ProdListingStandard benutzt das Snippet ItemProdListing um das Produkt darzustellen. Hier wird somit auch das Produktbild referenziert. Öffne die Datei snippets/ItemProdListing.html und ersetzte<pre> | ||
+ | <div class="Image" style="float: left; margin-left: 10px; margin-right: 10px;"> | ||
+ | <p>{img src=$product.PRODUCTS_IMAGE default=$smarty.const.ThumbImg alt=$product.PRODUCTS_NAME link=$product.PRODUCTS_LINK}{if $product.PRODUCTS_FSK18=='true'}<br /><img src="{$tpl_path}img/fsk18.gif" alt="" />{/if}</p> | ||
+ | </div></pre> | ||
+ | durch<pre><div class="Image"> | ||
+ | <p><a href="{$product.PRODUCTS_LINK}">{img | ||
+ | img_id=$product.PRODUCTS_IMAGE.ID | ||
+ | src=$product.PRODUCTS_IMAGE.FILE | ||
+ | preset=THUMB | ||
+ | prd_id=$product.PRODUCTS_ID | ||
+ | alt=$product.PRODUCTS_IMAGE.ALT | ||
+ | title=$product.PRODUCTS_IMAGE.TITLE}</a>{if $product.PRODUCTS_FSK18=='true'}<br /><img src="{$tpl_path}img/fsk18.gif" alt="" />{/if}</p> | ||
+ | </div></pre> | ||
+ | |||
+ | Weiter unten in dieser Datei wird noch die alte "img" Funktion benutzt um das Versandsymbol anzuzeigen - dies muss durch die img_gunnart ersetzt werden. Suche nach | ||
+ | {img src=$product.PRODUCTS_SHIPPING_IMAGE alt=$product.PRODUCTS_SHIPPING_NAME} | ||
+ | ersetzte es duch | ||
+ | {img_gunnart src=$product.PRODUCTS_SHIPPING_IMAGE alt=$product.PRODUCTS_SHIPPING_NAME} | ||
+ | |||
+ | == module/order_details.html == | ||
+ | Hier wird ebenfalls das Produktbild angezeigt. Suche nach<pre><td class="main">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.IMAGE_ALT}" />{/if}</td></pre> | ||
+ | und ersetzte die Zeile durch folgendes<pre><td class="main">{if $module_data.PRODUCTS_IMAGE!=''}{img | ||
+ | img_id=$module_data.PRODUCTS_IMAGE.ID | ||
+ | src=$module_data.PRODUCTS_IMAGE.FILE | ||
+ | preset=THUMB_CART | ||
+ | prd_id=$module_data.PRODUCTS_ID | ||
+ | alt=$module_data.PRODUCTS_IMAGE.ALT | ||
+ | title=$module_data.PRODUCTS_IMAGE.TITLE | ||
+ | class=cart_image | ||
+ | }{/if}</td></pre> | ||
+ | |||
+ | == boxes == | ||
+ | In einigen Boxen wird ein Produktbild angezeigt. Hier sind sowohl in der Script- als auch in der dazugehörigen Template-Datei Änderungen vorzunehmen. | ||
+ | |||
+ | === source/boxes/whats_new.php === | ||
+ | der "box_content" wird bereits durch die Methode buildDataArray erzeugt, nun müssen aber die Bildaten noch aufbereit werden. Dafür das ergebnis noch durch get_images() schicken: | ||
+ | $box_smarty->assign('box_content',get_images($product->buildDataArray($random_product))); | ||
+ | |||
+ | === snippets/BoxProduct.html === | ||
+ | Ausgegeben wird das Bild über dieses Snippet, hier ist der folgende Code zu ersetzten: | ||
+ | {img src=$box_content.PRODUCTS_IMAGE default=$smarty.const.ThumbImg alt=$box_content.PRODUCTS_NAME link=$box_content.PRODUCTS_LINK} | ||
+ | ersetzten durch | ||
+ | {img | ||
+ | img_id=$box_content.PRODUCTS_IMAGE.ID | ||
+ | src=$box_content.PRODUCTS_IMAGE.FILE | ||
+ | preset=THUMB_BOX | ||
+ | prd_id=$box_content.PRODUCTS_ID | ||
+ | alt=$box_content.PRODUCTS_IMAGE.ALT | ||
+ | title=$box_content.PRODUCTS_IMAGE.TITLE | ||
+ | } | ||
+ | |||
+ | == smarty img_gunnart funktion == | ||
+ | Wie bereits erwähnt gab es im gunnart Template eine img funktion die wir ja bereits zu img_gunnart umbenannt haben. Nun müssen wir noch in einigen Dateien den alten Aufruf der Funktion durch den neuen Funktionsnamen ersetzen. Die folgenden original-Dateien enthalten den zu modifizieren ''{img'' Aufruf. Suche in den folgenden Dateien nach "{img " und ersetzte es durch "{img_gunnart ": | ||
+ | * boxes/box_manufacturers_info.html | ||
+ | * module/categorie_listing/categorie_listing.html | ||
+ | * snippets/ItemCatListing.html | ||
+ | = Module = | ||
+ | Bisher wurden diverse sogenanne Module zunächst im CORE zusammengestellt, auch wenn das eigentliche Modul vom Template evtl. gar nicht benötigt wird,. Hierdurch wird das System belastet nur um evtl. eine Ausgabe zu erzeugen. | ||
+ | |||
+ | Diese Module sind nun in Smarty-Plugins "ausgewandert" welche zum CORE vom Shop gehörten. Wenn man nun also änderungen an solch einer Funktionalität vornehmen möchte kann man dies über ein überlagertes Smarty-Plugin realisiseren (im templates/''deinTempalte''/smarty/ Verzeichnis). | ||
+ | |||
+ | == Staffelpreise == | ||
+ | Bisher wurde das Module über folgende Code eingebunden:<pre>{if $MODULE_graduated_price !=''} {$MODULE_graduated_price}<br /> | ||
+ | <br /><br />{/if}</pre> | ||
+ | dies ist durch folgendes zu ersetzten: | ||
+ | {graduated_prices} | ||
+ | Die Staffelpreise werden bei der Produktanzeige eingebunden, also in den Dateien im module/products_info/ Verzeichnis | ||
+ | |||
+ | == Produktbewertungen == | ||
+ | Bisher wurde das Module über folgende Zeile eingebunden: | ||
+ | {if $MODULE_products_reviews}{$MODULE_products_reviews}{/if} | ||
+ | dies ist durch folgendes zu ersetzten: | ||
+ | {products_reviews} | ||
+ | |||
+ | == TODO == | ||
+ | <pre>{if $MODULE_products_media}{$MODULE_products_media}{/if} | ||
+ | {if $MODULE_cross_selling}{$MODULE_cross_selling}{/if} | ||
+ | {if $MODULE_reverse_cross_selling}{$MODULE_reverse_cross_selling}{/if} | ||
+ | {if $MODULE_also_purchased}{$MODULE_also_purchased}{/if} | ||
+ | |||
+ | {products_media} | ||
+ | {cross_selling} | ||
+ | {reverse_cross_selling} | ||
+ | {also_purchased}</pre> |
Aktuelle Version vom 13. Juni 2011, 07:12 Uhr
Beschreibung der nötigen Anpassungen damit ein auf gunnart_v1 basierendes Template mit der V1.0.10 funktioniert
class template
Bisher wurde smarty immer über die Klasse "smarty" implementiert, was zur folge hatte das man jedes mal diverse Einstellungen setzten mußte. Nun gibt es eine Klasse "template" welche diese Default-Einstellungen übernimmt. Damit das Template funktioniert sollten alle Vorkommen von "new smarty" durch "new template" ersetzt werden:
$smarty = new smarty;
wird zu
$smarty = new template;
Zuweisungen zur Sprache und zum Templatepfad sollten entfernt werden:
$box_smarty->assign('language', $_SESSION['language']); $box_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
In diesen Dateien wird außerdem beim Zugriff auf das Template der Pfad zur Templatedatei i.d.R. mit CURRENT_TEMLATE.'/ angegeben, was nun ebenfalls entfallen muss:
$box_admin = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_admin.html');
wird zu
$box_admin = $box_smarty->fetch('boxes/box_admin.html');
Folgende Dateien sind so zu ändern:
- source/boxes/
-
- add_a_quickie.php
- admin.php
- best_sellers.php
- categories.php
- content.php
- currencies.php
- infobox.php
- information.php
- languages.php
- last_viewed.php
- live_shopping.php
- loginbox.php
- manufacturer_info.php
- manufacturers.php
- newsletter.php
- order_history.php
- reviews.php
- search.php
- search_top.php
- shopping_cart.php
- sofortueberweisung.php
- specials.php
- whats_new.php
header
Die header.php ist nun ins Template verschoben - hierfür ist folgendes zu tun. Zunächst in der index.html die Zeile
{config_load file="$language/lang_$language.conf" section="index"}
durch folgendes ersetzen:
{header} {config_load file="$language/lang_$language.conf" section="index"} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html{if $HTML_PARAMS} {$HTML_PARAMS}{/if}> <head> <title>{$META.title}</title> {foreach from=$META.http_equiv item=m key=k} {if $m} <meta http-equiv="{$k}" content="{$m}" /> {/if} {/foreach} {foreach from=$META.name item=m key=k} {if $m} <meta name="{$k}" content="{$m}" /> {/if} {/foreach} <base href="{$BASE_HREF}" /> {css} <link rel="shortcut icon" href="/favicon.ico" /> {* googleAnalytics account=UA-XXXXXXX-X trackOrders=true *} {* piwik url=piwik.example.com id=1 goal=1 *} </head> <body> {if $smarty.session.customers_status.customers_status_id == 0} {if $MESSAGES.warning} <div class="messages warnings"> {foreach from=$MESSAGES.warning item=item} <div class="warning">{$item}</div> {/foreach} </div> {/if} {/if}
Am Ende dieser Datei muss jetzt noch das neue Javascript handling integriert werden und der HTML-Code abgeschlossen werden. Hierfür einfach folgendes am Ende der Datei einfügen:
{if $BANNER} {$BANNER} <hr class="Break" /> {/if} {javascript} </body> </html>
Nun noch eine source/template_defaults.php mit folgendem Inhalt anlegen, bei der jquery Version natürlich darauf achten welche Ihr bisher benutzt habt:
<?php // define CSS files for CS compressor $css_files = array( 'all' => array( 'stylesheet.css', 'boxes.css', 'thickbox.css', ), ); $js_files = array( 'javascript/bottom.js.php', 'javascript/general.js.php', 'javascript/jquery-1.4.2.min.js', 'javascript/jquery.countdown-de.js', 'javascript/jquery.countdown.js', 'javascript/template.js', 'javascript/thickbox.js', );
Produktbilder
Es gibt eine neue Smartyfunktion um die Produktbilder darzustellen. Dieser wurde von den Entwicklern {img} genannt. Im Gunnart-Template gibt es leider auch schon eine Smartyfunktion mit Namen {img}. Diese muss zunächst zu img_gunnart umgenannt werden. Hierfür muss sowohl die Datei als auch die funktion in der Datei umgenannt werden:
smarty/function.img.php => smarty/function.img_gunnart.php
in dieser Datei nun noch die folgende Zeile
function smarty_function_img($params, &$smarty) {
auf
function smarty_function_img_gunnart($params, &$smarty) {
ändern.
modules/product_info
Damit die Produktbilder in der Produktinformation angezeigt werden sind zwei änderungen an der product_info Vorlage nötig. Die entsprechende Datei befindet sich im Verzeichnis modules/product_info/ und heißt im original-Template product_info_v1.html
In jeder Datei in diesem Verzeichnis sind nun die folgenden Änderungen durchzuführen: Füge folgende Zeile am Anfang der Datei ein:
{product_images prd_id=$PRODUCTS_ID}
Suche nun folgenden Block
<tr> <td><a href="{$PRODUCTS_IMAGES.0.popup}" title="{$PRODUCTS_NAME}" class="thickbox"><img src="{$PRODUCTS_IMAGES.0.info}" alt="{$PRODUCTS_NAME}" /></a></td> </tr> <!-- more images --> {foreach from=$PRODUCTS_IMAGES item=IMG name=images} {if !$smarty.foreach.images.first} <tr> <td style="border-top: 1px solid; border-color: #cccccc;"> <a href="{$IMG.popup}" title="{$PRODUCTS_NAME}" class="thickbox"><img src="{$IMG.info}" alt="{$PRODUCTS_NAME}" /></a> </td> </tr> {/if} {/foreach} <!-- more images eof -->
und ersetzte diesen durch
{foreach from=$PRODUCTS_IMAGES item=image key=id}
<td{if $id > 0} style="border-top: 1px solid; border-color: #cccccc;"{/if}><a href="{img img_id=$image.ID src=$image.FILE preset="POPUP" prd_id=$PRODUCTS_ID path_only=true}" title="{$PRODUCTS_NAME}" class="thickbox"> {img img_id=$image.ID src=$image.FILE preset="INFO" prd_id=$PRODUCTS_ID alt=$image.ALT title=$image.TITLE}</a> {/foreach}
modules/product_listing
Das Produktlisting wird bei angezeigt wenn in einer Kategorie Produkte vorhanden sind. Hierbei wird das Kategoriebild über die oben erwähnte img-Funktion des Templates angezeigt. Diese stelle muß also verändert werden damit das Kategoriebild wieder funktioniert. Suche dafür in allen Dateien in dem Verzeichnis module/product_listing nach
{img src=$CATEGORIES_IMAGE alt=$CATEGORIES_NAME}
und ersetzte es durch
{img_gunnart src=$CATEGORIES_IMAGE alt=$CATEGORIES_NAME}
Die Anzeige der Produkte wird hierbei über ein Snippet realisiert - genauer gesagt über eine Snippet-Kette:
Das zunächst benutzte Snippet ProdListingStandard benutzt das Snippet ItemProdListing um das Produkt darzustellen. Hier wird somit auch das Produktbild referenziert. Öffne die Datei snippets/ItemProdListing.html und ersetzte
<div class="Image" style="float: left; margin-left: 10px; margin-right: 10px;"> <p>{img src=$product.PRODUCTS_IMAGE default=$smarty.const.ThumbImg alt=$product.PRODUCTS_NAME link=$product.PRODUCTS_LINK}{if $product.PRODUCTS_FSK18=='true'}<br /><img src="{$tpl_path}img/fsk18.gif" alt="" />{/if}</p> </div>
durch
<div class="Image"> <p><a href="{$product.PRODUCTS_LINK}">{img img_id=$product.PRODUCTS_IMAGE.ID src=$product.PRODUCTS_IMAGE.FILE preset=THUMB prd_id=$product.PRODUCTS_ID alt=$product.PRODUCTS_IMAGE.ALT title=$product.PRODUCTS_IMAGE.TITLE}</a>{if $product.PRODUCTS_FSK18=='true'}<br /><img src="{$tpl_path}img/fsk18.gif" alt="" />{/if}</p> </div>
Weiter unten in dieser Datei wird noch die alte "img" Funktion benutzt um das Versandsymbol anzuzeigen - dies muss durch die img_gunnart ersetzt werden. Suche nach
{img src=$product.PRODUCTS_SHIPPING_IMAGE alt=$product.PRODUCTS_SHIPPING_NAME}
ersetzte es duch
{img_gunnart src=$product.PRODUCTS_SHIPPING_IMAGE alt=$product.PRODUCTS_SHIPPING_NAME}
module/order_details.html
Hier wird ebenfalls das Produktbild angezeigt. Suche nach
<td class="main">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.IMAGE_ALT}" />{/if}</td>
und ersetzte die Zeile durch folgendes
<td class="main">{if $module_data.PRODUCTS_IMAGE!=''}{img img_id=$module_data.PRODUCTS_IMAGE.ID src=$module_data.PRODUCTS_IMAGE.FILE preset=THUMB_CART prd_id=$module_data.PRODUCTS_ID alt=$module_data.PRODUCTS_IMAGE.ALT title=$module_data.PRODUCTS_IMAGE.TITLE class=cart_image }{/if}</td>
boxes
In einigen Boxen wird ein Produktbild angezeigt. Hier sind sowohl in der Script- als auch in der dazugehörigen Template-Datei Änderungen vorzunehmen.
source/boxes/whats_new.php
der "box_content" wird bereits durch die Methode buildDataArray erzeugt, nun müssen aber die Bildaten noch aufbereit werden. Dafür das ergebnis noch durch get_images() schicken:
$box_smarty->assign('box_content',get_images($product->buildDataArray($random_product)));
snippets/BoxProduct.html
Ausgegeben wird das Bild über dieses Snippet, hier ist der folgende Code zu ersetzten:
{img src=$box_content.PRODUCTS_IMAGE default=$smarty.const.ThumbImg alt=$box_content.PRODUCTS_NAME link=$box_content.PRODUCTS_LINK}
ersetzten durch
{img img_id=$box_content.PRODUCTS_IMAGE.ID src=$box_content.PRODUCTS_IMAGE.FILE preset=THUMB_BOX prd_id=$box_content.PRODUCTS_ID alt=$box_content.PRODUCTS_IMAGE.ALT title=$box_content.PRODUCTS_IMAGE.TITLE }
smarty img_gunnart funktion
Wie bereits erwähnt gab es im gunnart Template eine img funktion die wir ja bereits zu img_gunnart umbenannt haben. Nun müssen wir noch in einigen Dateien den alten Aufruf der Funktion durch den neuen Funktionsnamen ersetzen. Die folgenden original-Dateien enthalten den zu modifizieren {img Aufruf. Suche in den folgenden Dateien nach "{img " und ersetzte es durch "{img_gunnart ":
- boxes/box_manufacturers_info.html
- module/categorie_listing/categorie_listing.html
- snippets/ItemCatListing.html
Module
Bisher wurden diverse sogenanne Module zunächst im CORE zusammengestellt, auch wenn das eigentliche Modul vom Template evtl. gar nicht benötigt wird,. Hierdurch wird das System belastet nur um evtl. eine Ausgabe zu erzeugen.
Diese Module sind nun in Smarty-Plugins "ausgewandert" welche zum CORE vom Shop gehörten. Wenn man nun also änderungen an solch einer Funktionalität vornehmen möchte kann man dies über ein überlagertes Smarty-Plugin realisiseren (im templates/deinTempalte/smarty/ Verzeichnis).
Staffelpreise
Bisher wurde das Module über folgende Code eingebunden:
{if $MODULE_graduated_price !=''} {$MODULE_graduated_price}<br /> <br /><br />{/if}
dies ist durch folgendes zu ersetzten:
{graduated_prices}
Die Staffelpreise werden bei der Produktanzeige eingebunden, also in den Dateien im module/products_info/ Verzeichnis
Produktbewertungen
Bisher wurde das Module über folgende Zeile eingebunden:
{if $MODULE_products_reviews}{$MODULE_products_reviews}{/if}
dies ist durch folgendes zu ersetzten:
{products_reviews}
TODO
{if $MODULE_products_media}{$MODULE_products_media}{/if} {if $MODULE_cross_selling}{$MODULE_cross_selling}{/if} {if $MODULE_reverse_cross_selling}{$MODULE_reverse_cross_selling}{/if} {if $MODULE_also_purchased}{$MODULE_also_purchased}{/if} {products_media} {cross_selling} {reverse_cross_selling} {also_purchased}