Aide - Recherche - Membres - Calendrier
Version complète : Templates ?
Forum osCommerce-fr > Adapter OsCommerce MS2 > Design
st123
Bonjour,

J'installe OsCommerce (je l'ai déjà fait il y a 3 ans... mais ma mémorie est une passoire):

Je lis sur la page:
http://www.oscommerce-fr.info/portail/inde...&Itemid=162

Que le répertoire "template" se trouve à la racine... Or chez moi le seul qui existe se trouve dans "install" que j'ai renommé (plutôt que de le supprimer)...
- Est ce normal ?
- Dois je le laisser là ?
- Dois je créer un dossier "templates" à la racine ?
- je n'ai aucun sous dossier dans ce répertoire, or il mesemblerait "normal" d'avoir un sous répertoire portant le nom du template en cours...
- Comment faire pour installer / Créer un nouveau style (je ne parle pas de la façon de modifier/créer le code correspondant, mais de l'endroit où je dosi le mettre) ?

Merci d'avance

st123
fissiaux

Le lien que tu donnes est pour une creload 6, pas pour une ms2.

Avec la ms2, pas de répertoire templates sous catalog.

La MS2 n'a pas de template à proprement parlé. Donc pas de répertoire.
st123
Merci Fissiaux,

Décidément tu es bien présent en ces jours de fêtes et je t'en remercie (remarque il caille dehors).

As tu un lien à me conseiller pour les créations de templates ? sur la méthode et éventuellement la possibilité d'avoir plusieurs templates ?

Merci d'avance

st123
fissiaux

Il existe plusieurs possibilités (peut-être est-ce décrire dans le sujet épinglé du forum design).

- soit travailler le fichier stylesheet.css

- soit installer des contributions du genre de STS (Simple Template Structure) ou BTS (Basic Template Structure), chacune ayant ses défenseurs.

Dans la creload 6 que tu pointais tout à l'heure, c'est BTS
Gnidhal
Perso je crois qu'une adaptation des scripts est plus fiable et plus modulaire.
ça passe par une modification de toutes les entêtes de fichiers de la racine du site comme ceci :
CODE
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<?php require(DIR_WS_INCLUDES . 'balises_head.php'); ?>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

</head>
<body>
<!-- header //-->

et dans le fichier balises_head.php on fait ce qu'on veut et entre autres on peut charger une feuille de style désignée depuis l'admin avec une variable de config :
CODE
<link rel="shortcut icon" href="images/site/favicon.ico" />
<link rel="stylesheet" type="text/css" href="stylesheet<?php echo trim(SITE_STYLE); ?>.css" />

la valeur de SITE_STYLE est définie dans le panneau d'admin elle peut prendre une valeur comme "Base"
il suffit donc de créer une css qui portera le nom stylesheetBase.css
ensuite on peut assigner un jeu de boutons pour chaque style en modifiant un peu les fonctions tep_image_submit et tep_image_button dans html_output
CODE
// The HTML form submit button wrapper function
// Outputs a button in the selected language
  function tep_image_submit($image, $alt = '', $parameters = '') {
    global $language;
    $size_image = @getimagesize(DIR_WS_LANGUAGES . $language . '/images/buttons'.trim(SITE_STYLE).'/' .$image);
    $image_submit = '<input type="image" src="' . tep_output_string(DIR_WS_LANGUAGES . $language . '/images/buttons'.trim(SITE_STYLE).'/' . $image) . '" border="0" width="'.$size_image[0].'" height="'.$size_image[1].'" alt="' . tep_output_string($alt) . '"';

    if (tep_not_null($alt)) $image_submit .= ' title=" ' . tep_output_string($alt) . ' "';

    if (tep_not_null($parameters)) $image_submit .= ' ' . $parameters;

    $image_submit .= '>';

    return $image_submit;
  }

////
// Output a function button in the selected language
  function tep_image_button($image, $alt = '', $parameters = '') {
    global $language;
    $size_image = @getimagesize(DIR_WS_LANGUAGES . $language . '/images/buttons'.trim(SITE_STYLE).'/' .$image);

    return tep_image(DIR_WS_LANGUAGES . $language . '/images/buttons'.trim(SITE_STYLE).'/' . $image, $alt, $size_image[0], $size_image[1], $parameters);
  }

////

il faut bien sûr classer ses boutons dans un repertoire modifié comme pour l'exemple "Base" :
includes\languages\french\images\buttonsBase
et pareil pour les autres langues.

Si les pages sont bien calibrées du coté CSS ça permet toutes les fantaisies depuis la stylesheet.

exemple à partir de la page privacy.php
CODE
<?php
/*
  $Id: privacy.php,v 1.22 2003/06/05 23:26:23 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require('includes/application_top.php');

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRIVACY);

  $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_PRIVACY));
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<?php require(DIR_WS_INCLUDES . 'balises_head.php'); ?>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

</head>
<body>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table class="coreBody">
  <tr>
    <td class="columnL" valign="top"><table class="columnL" cellspacing="0" cellpadding="0">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
    </table></td>
<!-- body_text //-->
    <td class="centreBody"><?php require(DIR_WS_INCLUDES . 'head_search.php'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading"><h1><?php echo HEADING_TITLE; ?></h1></td>
            <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . TABLE_BACKGROUND_SPECIALS, HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr>
            <td class="main"><?php echo TEXT_INFORMATION; ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
      </tr>
      <tr>
        <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
          <tr class="infoBoxContents">
            <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
                <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
<!-- body_text_eof //-->
    <td class="columnR" valign="top"><table class="columnR" cellspacing="0" cellpadding="0">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
    </table></td>
  </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

et du header un peu modifié comme suit :
CODE
<?php
/*
  $Id: header.php,v 1.42 2003/06/10 18:20:38 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

// check if the 'install' directory exists, and warn of its existence
  if (WARN_INSTALL_EXISTENCE == 'true') {
    if (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/install')) {
      $messageStack->add('header', WARNING_INSTALL_DIRECTORY_EXISTS, 'warning');
    }
  }

// check if the configure.php file is writeable
  if (WARN_CONFIG_WRITEABLE == 'true') {
    if ( (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) && (is_writeable(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) ) {
      $messageStack->add('header', WARNING_CONFIG_FILE_WRITEABLE, 'warning');
    }
  }

// check if the session folder is writeable
  if (WARN_SESSION_DIRECTORY_NOT_WRITEABLE == 'true') {
    if (STORE_SESSIONS == '') {
      if (!is_dir(tep_session_save_path())) {
        $messageStack->add('header', WARNING_SESSION_DIRECTORY_NON_EXISTENT, 'warning');
      } elseif (!is_writeable(tep_session_save_path())) {
        $messageStack->add('header', WARNING_SESSION_DIRECTORY_NOT_WRITEABLE, 'warning');
      }
    }
  }

// check session.auto_start is disabled
  if ( (function_exists('ini_get')) && (WARN_SESSION_AUTO_START == 'true') ) {
    if (ini_get('session.auto_start') == '1') {
      $messageStack->add('header', WARNING_SESSION_AUTO_START, 'warning');
    }
  }

  if ( (WARN_DOWNLOAD_DIRECTORY_NOT_READABLE == 'true') && (DOWNLOAD_ENABLED == 'true') ) {
    if (!is_dir(DIR_FS_DOWNLOAD)) {
      $messageStack->add('header', WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT, 'warning');
    }
  }

  if ($messageStack->size('header') > 0) {
    echo $messageStack->output('header');
  }
?>
<div id="site">
<table class="header" border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr class="header">
    <td valign="middle"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'pixel_trans.gif', STORE_NAME, '800', '117') . '</a>'; ?></td>
    <td align="right" valign="bottom"></td>
  </tr>
  <tr>
    <td colspan="2">
      <table border="0" width="100%" cellspacing="0" cellpadding="1">
        <tr class="headerNavigation">
          <td class="headerNavigation">  <?php echo $breadcrumb->trail(' » '); ?></td>
          <td align="right" class="headerNavigation"><?php  if (tep_session_is_registered('customer_id')) { ?><a href="<?php echo tep_href_link(FILENAME_LOGOFF, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_LOGOFF . '</a> | '; }echo '<a href="'.  tep_href_link(FILENAME_ACCOUNT, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_MY_ACCOUNT. '</a> | <a href="'. tep_href_link(FILENAME_SHOPPING_CART); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CART_CONTENTS. '</a> | <a href="'. tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'); ?>" class="headerNavigation"><?php echo HEADER_TITLE_CHECKOUT; ?></a>  </td>
          <td></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<?php
  if (isset($HTTP_GET_VARS['error_message']) && tep_not_null($HTTP_GET_VARS['error_message'])) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
  <tr class="headerError">
    <td class="headerError"><?php echo htmlspecialchars(urldecode($HTTP_GET_VARS['error_message'])); ?></td>
  </tr>
</table>
<?php
  }

  if (isset($HTTP_GET_VARS['info_message']) && tep_not_null($HTTP_GET_VARS['info_message'])) {
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
  <tr class="headerInfo">
    <td class="headerInfo"><?php echo htmlspecialchars($HTTP_GET_VARS['info_message']); ?></td>
  </tr>
</table>
<?php
  }
?>


il faut enfin penser à fermer les balises du header dans le footer.php


là, avec ces quelques modifs, tu fais ce que tu veux avec un osC !
st123
Merci Fissiaux et Gnidhal,

Je vais regarder ça à tête reposée.

En attendant j'ai trouvé un super boulot de Corbin, avec toutes les contrib, en tout cas beaucoup sur:
http://www.oscommerce-fr.info/forum/index....showtopic=15038

Mais je ne dois pas tout voir quand je clique sur les liens, j'ai du texte, mais rien d'expicite, ni rien à télécharger: juste une explicaiton et parfois des réponses.

Les seules choses clicables dans la page sont l'ouverture et la fermeture des autres réponses: Ca doit être tout kon mais ça m'échappe.

Qui peut me dire comment les récupérer (y compris STS et DTS)?

Merci d'avance

st123
st123
Merci Fissiaux pour ta réponse,

C'est bien vers ces pages que pointent l'url que je mentionnais, mais je ne voyais aucun lien pour le téléchargement...

Ca y est je l'ai vu, honte sur moi c'était le petit picto marron avec la flèche verte...

Cordialement

st123
guinnessboy
Bonjour,

Serai t'il possible d'avoir quelques éclaircissements sur ce qui suit :

CITATION
a valeur de SITE_STYLE est définie dans le panneau d'admin elle peut prendre une valeur comme "Base"
huh.gif

Ayant trouvé BTS un peu lourd, je me suis lancé sur un type de solutions semblable à celle exposée par Gnidhal.

Toutefois je ne passe pas par un include de ficher mais juste par une variable codée en dur dans application_top.php .

Définir cette variable dans l'admin, est une chose abordable ? (recopie et modification d'un module) ou c'est à l'ancienne avec le clavier d'une main le manuel php de l'autre ?

Merci,

GUINNESSBOY


fissiaux
Faut pas s'embeter pour cela. Il faut utiliser la table configuration avec ou sans un groupe spécial. IL y a plien d'exemple existant dans cette table où l'on peut choisir une série de valeurs.
guinnessboy
Mes excuses, pour ce post. J'ai résolu mon problème.

IL FAUT VIDER LE CACHE, IL FAUT VIDER LE CACHE........


En tous cas merci à Fissiaux pour la piste.

Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2024 Invision Power Services, Inc.