Ändern der Grundstruktur (HTML, nicht CSS)

Begonnen von nexuss, 20 Dez 2009, 20:41

« vorheriges - nächstes »
Nach unten

nexuss

Hallo,

vielleicht sehe ich den Wald vor lauter Bäumen nicht, aber wo ändere ich die reine HTML Struktur?

Vielen Dank

Gruß
Tom

kdk

In den .tpl-Dateien im themes-Ordner.

nexuss

Hallo,

und danke für die schnelle Reaktion.

Die Tpl-Dateien habe ich schon durch. Aber eine Gesamtstruktur des HTML Gerüsts habe ich nicht gefunden. In der Index.tpl steht nur ein hook. Ich will ja nicht nur den Header ändern, sondern die Gesamtstruktur. Vielleicht habt ihr ein Tip.

Viel Gruß
Tom

kdk

Also, ich geb mal ein Beispiel:

Du rufst Du www.meinshop.de/order.php auf. Die HTML-Struktur dazu ist in der order.tpl.

Du musst also eigentlich alle tpl-Dateien durchgehen. Der Header z.B. ist in der header.tpl.

Besser kann ich es nicht erklären.

Das ist der Nachteil dieser Struktur: HTML ist überall verteilt, da es nicht die eine Template-Datei gibt. Das macht die Anpassung nicht leichter und z.b bei OSCommerce eigentlich unmöglich.

nexuss

Hallo kdk,

nett von Dir und vielen Dank für Deine Geduld.

Ich bin in Sachen HTML und CSS, also Templating, kein Neuling. Typo3 und Magento. Dass die einzelnen Bereiche in Presta separat getamplatet werden ist ja genauso wie in Magento.

Den Header oder die Produkt View zu bearbeiten ist logisch und kein Problem. Aber es gibt doch ein Template welches alles zusammenhält, oder?

Beispiel:

<body>
<div id="page">

   <div id="header">{$headerinhalt} ### Hier wird als Beispiel das header.tpl reingeladen ### </div>

   <div class="middle">
      <div id="left_column" class="column">{$leftinhalt}</div>
      <div id="center_column">{$centerinhalt}</div>
   </div>

   <div id="footer">{$footerinhalt}</div>
 
</div>
</body>

Oder ist es wirklich so, dass die Gesamtstruktur zerschnippelt ist?

Gruß
Tommi

kdk

index.php:

<?php

include(dirname(__FILE__).'/config/config.inc.php');

if(
intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1)
$rewrited_url __PS_BASE_URI__;

include(
dirname(__FILE__).'/header.php');

$smarty->assign('HOOK_HOME'Module::hookExec('home'));
$smarty->display(_PS_THEME_DIR_.'index.tpl');

include(
dirname(__FILE__).'/footer.php');

?>



lädt die header.php

<?php

// P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');

require_once(
dirname(__FILE__).'/init.php');

/* CSS */
$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';

/* Hooks are volontary out the initialize array (need those variables already assigned) */
$smarty->assign(array(
'HOOK_HEADER' => Module::hookExec('header'),
'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'),
'HOOK_TOP' => Module::hookExec('top'),
'static_token' => Tools::getToken(false),
'token' => Tools::getToken(),
'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
'content_only' => intval(Tools::getValue('content_only'))
));

if(isset(
$css_files) AND !empty($css_files)) $smarty->assign('css_files'$css_files);
if(isset(
$js_files) AND !empty($js_files)) $smarty->assign('js_files'$js_files);

/* Display a maintenance page if shop is closed */
if (isset($maintenance) AND (!isset($_SERVER['REMOTE_ADDR']) OR $_SERVER['REMOTE_ADDR'] != Configuration::get('PS_MAINTENANCE_IP')))
{
header('HTTP/1.1 503 temporarily overloaded');
$smarty->display(_PS_THEME_DIR_.'maintenance.tpl');
exit;
}

$smarty->display(_PS_THEME_DIR_.'header.tpl');

?>



Die lädt wieder die header.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}">
<head>
<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
{if isset($meta_description) AND $meta_description}
<meta name="description" content="{$meta_description|escape:htmlall:'UTF-8'}" />
{/if}
{if isset($meta_keywords) AND $meta_keywords}
<meta name="keywords" content="{$meta_keywords|escape:htmlall:'UTF-8'}" />
{/if}
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<meta name="generator" content="PrestaShop" />
<meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />
<link rel="icon" type="image/vnd.microsoft.icon" href="{$img_ps_dir}favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="{$img_ps_dir}favicon.ico" />
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
<script type="text/javascript" src="{$content_dir}js/tools.js"></script>
<script type="text/javascript">
var baseDir = '{$content_dir}';
var static_token = '{$static_token}';
var token = '{$token}';
var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals};
</script>
<script type="text/javascript" src="{$content_dir}js/jquery/jquery-1.2.6.pack.js"></script>
<script type="text/javascript" src="{$content_dir}js/jquery/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="{$content_dir}js/jquery/jquery.hotkeys-0.7.8-packed.js"></script>
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{$js_uri}"></script>
{/foreach}
{/if}
{$HOOK_HEADER}
</head>

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}>
{if !$content_only}
<noscript><ul><li>{l s='This shop requires JavaScript to run correctly. Please activate JavaScript in your browser.'}</li></ul></noscript>
<div id="page">

<!-- Header -->
<div>
<h1 id="logo"><a href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"><img src="{$img_ps_dir}logo.jpg" alt="{$shop_name|escape:'htmlall':'UTF-8'}" /></a></h1>
<div id="header">
{$HOOK_TOP}
</div>
</div>

<!-- Left -->
<div id="left_column" class="column">
{$HOOK_LEFT_COLUMN}
</div>

<!-- Center -->
<div id="center_column">
{/if}


Also....zerschnippelt. Eine "zentrale Instanz" gibt es nicht. Kenn ich persönlich auch nur bei redaxo, die gibt solche zentralen Template-Daeien.

nexuss


Nach oben