Aide - Recherche - Membres - Calendrier
Version complète : (Résolu) Créer une banniére par catégorie
Forum osCommerce-fr > Adapter OsCommerce MS2 > Contributions
myphp_51
Salut, je sais que c'est déja demandé, mais sans aucun aide, alors ce que je veux c'est créer des banniéres qui s'affichent selon catégorie, j'ai esseyé de chercher dans d'autres contributions mais sans resultats, est ce qu'il ya une solution pour mon probléme.
Merci...
fissiaux

Tu veux utiliser le système de bannières oscommerce ou un système statique où tu affiches la même bannière pour une catégorie donnée ?

Dans ce second cas, il faut tester (donc faire des if, ou un switch) sur $current_category ou $cPath....
myphp_51
Salut fissiaux, et merci, alors je veux utiliser le systeme des banniéres Oscommerce avec toutes ces fonctionalités.
myphp_51
Bonjour,

Je crois que mon pb n'interesse personne parce que ça fait longtemps que je fasse des recherches dans des contributions et forums sans trouver qq solutions interessantes, je suis seul face à ce pb mais jusqu'au mnt je pose tjr ce sujet à ceux qui pourrant resoudre ça.
myphp_51
Bonjour,

J'ai travaillé toute la nuit sur cette contib : http://www.oscommerce.com/community/contributions,2511, et je crois que le pb réside dans le fichier includes/functions/banner.php :
CODE
// Check to see if a banner exists
  function tep_banner_exists($action, $identifier) {
      //added for os6tm banner manager
      global $current_category_id;
    if ($action == 'dynamic') {
      return tep_random_select("select b.banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " b, " . TABLE_BANNERS_TO_CATEGORIES . " btc where status = '1' and banners_group = '" . $identifier . "' and btc.categories_id = '" . $current_category_id . "'");
      
    } elseif ($action == 'static') {
        //added for os6tm banner manager
      $banner_query = tep_db_query("select b.banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " b, " . TABLE_BANNERS_TO_CATEGORIES . " btc where status = '1' and banners_id = '" . (int)$identifier . "' and btc.categories_id = '" . $current_category_id . "'");
      return tep_db_fetch_array($banner_query);
    } else {
      return false;
    }
  }


Il y a qq chose qui cloche mais j'arrive pas a le demasquer
myphp_51
Bonjour,

Woooowww, aprés un trés dur effort, je me suis y arrivé, c'est ici la solution http://www.ossystemes.com/downloads.0.html
padaben
SAlut !!

je relance ce post, j'ai installé la contrib, merci d'ailleurs pour les modifs !
mais j'ai quelques questions pour mieux voire meme comprendre le code .

globalemet je ne comprend pas à quoi sert le "static" et le "dynamic" !!!

il n'y a rien dans la bdd qui détermine ce statut , alors pourquoi différencier???

je bosse sur la modif utiliser cette contrib avec du flash et plus exactement la méthode swfobject !!

toute l'install admin c'est plutot bien passée.
j'ai cependant modifié quelques petites choses,
plutot que d'uploader le fichier de bannière dans le dossier image, pourquoi ne pas le mettre dans le dossier spécifique dans
catalog/images/banners !!! ?

j'ai donc dans les configure.php de l'admin et du catalog créé 2 globales :
CODE
define('DIR_WS_BANNERS', 'banners/');
define('DIR_FS_CATALOG_BANNERS', DIR_FS_CATALOG_IMAGES . 'banners/');


j'ai ainsi modifié dans admin/banner_manager.php
replacer DIR_FS_CATALOG_IMAGES par DIR_FS_CATALOG_BANNERS

ansi que dans admin/categories.php et dans catalog/includes/functions/banner.php
DIR_WS_IMAGES par DIR_WS_BANNERS

si vous avez des infos pour mon souci de compréhension , ca serait bien smile.gif

merci
++


nemrod34
Quelqu’un à déjà vu ça ?

Warning: Cannot modify header information - headers already sent by (output started at /home/.filer4/bourseauxlivres/www/admin/includes/languages/french.php:369) in /home/.filer4/bourseauxlivres/www/admin/includes/functions/general.php on line 51

Ligne 51 de general.php:

CODE
// Redirect to another page or site
  function tep_redirect($url) {
    global $logger;

    header('Location: ' . $url);  = ligne 51

    if (STORE_PAGE_PARSE_TIME == 'true') {
      if (!is_object($logger)) $logger = new logger;
      $logger->timer_stop();
    }

    exit;
  }

Quand à :
http://www.ossystemes.com/downloads.0.html
Il y a juste un fichier sans extention une fois décompréssé, donc bonjour l’aide…
nemrod34
Bon j'y comprend rien:
la ligne incriminnée existe dans l'original, dans le fichier de la contrib et tout.

C'été quoi comme aide qui été donnée ?
Bon des nouvelles:
malgrès l'érreur sure j'aimerais bien régler les changements se font, par contre pas d'affichage de la bannière demmandée là ou je le veut ...

On avance doucement ...
affiché même là où il n'y a pas de bannièrre demandée :

TEP ERROR! (tep_display_banner(static, ) -> Banner with ID '' not found, or status inactive

Quelqu'un pourrait faire passer la nouvelle version qui à disparue visiblement ?
parce que là :
http://www.ossystemes.com/downloads.0.html une fois dézippé c'est un fichier sans extension si on le lance avec explorer on retélécharge la premièrre version.

Donc mettre le code ici serait très utile ...
nemrod34
J'ai trouvé ça sur le forum us mais il y a une erreur (en effet la page fait 877 octets):
CODE
code supprimé


Mais toujours la même erreur!

le sql utilisé en cas:
# Table structure for table `banners_to_categories`
#

CREATE TABLE `banners_to_categories` (
`banners_id` bigint(20) NOT NULL default '0',
`categories_id` bigint(20) NOT NULL default '0'
) TYPE=MyISAM;
myphp_51
Bonjour,

Excusez moi mon absence sur ce sujet parce que j'etais un peu bloqué par d'autres choses, concernant le probleme rencontré par NEMROD34 je crois que l'erreur se trouve dans d'autre fichier comme includes/database_tables.php parce que il faut d'abord ajouter les tables dans la base de donnéé sans oublié de les déclarer dans database_tables.php et le reste ça dépond de la place où il faut inserer le code d'affichage du banniére par ex: header.php ou footer.php.

Voici alors les étape à suivre:

CODE
code trop lourd pour le forum == supprimé ainsi que les 5(!!!!) pages de code suivantes


pitié pour notre base de donnée!!!
myphp_51
CODE
code supprimé


Vous pouvez aussi télécharger le fichier zip qui contient tous ce que je viens de vous expliquez à cette adresse

Cordialement.
xaglo
c'est peut-être suffisant comme ça non??
CITATION(myphp_51 @ 27 Oct 2007, 02:48) [snapback]256712[/snapback]
Vous pouvez aussi télécharger le fichier zip qui contient tous ce que je viens de vous expliquez à cette adresse


et encore mieux!! mettre à disposition la contribution sur oscommerce.com

merci de prendre pitié pour l'engraissement abusif de notre base de donnée!!! ce n'est pas son rôle wink.gif
myphp_51
Bonjour,

J'ai mis le code os6tm_banner_manager v1.1 dans sa contribution, vas y: http://addons.oscommerce.com/info/2511

Cordialement.
stephano6
hello .....

contrib et post trés interessant ... mais j'ai moi aussi une erreur ....

dans Admin/banner_manager.php il me dit

Fatal error: Call to undefined function tep_get_categories() in /mnt/sites/fenster-tec.com/web/demo/admin/banner_manager.php on line 412

$i = 0;
$j = 1;
$categories_string = '';
et la ligne 412 c'est:
Code
$categories = tep_get_categories($bID, '', '0', '...');


je ne vois pas se qu'il y a de faux ?

pourriez vous m'aider svp. Merci
Salutations

mrgreen.gif twisted.gif twisted.gif laugh.gif sad.gif

Mais c'est pas vrai ..... j'avais oublier un tout petit bout de code dans general ... hai hai hai blink.gif
nemrod34
Pour utiliser le flash avec os6tm_banner_manager il existe cette contrib: http://addons.oscommerce.com/info/3009

Voici tout ce qu'il faut avoir : http://addons.oscommerce.com/info/2511


En fait il faut uploader les deux fichiers (AC_ActiveX.js-AC_RunActiveContent.js ) à la racine de la boutique.

- Dans catalog/includes/functions/html_output.php rajouter juste avant le dernier ?> :

Code
///// output a flash movie - by ManMachine
  function mm_output_flash_movie($name, $movie, $width = '' , $height = '' , $background = '' , $parameters = '') {
    
    if(tep_not_null($width)) {
        $movie_width = 'width="'.$width.'"';
    }
    
    if(tep_not_null($height)) {
        $movie_height = 'height="'.$height.'"';
    }

    if(tep_not_null($parameters)) {
      $flash_movie = $movie . '?' . $parameters;
    } else {
      $flash_movie = $movie;
    }
    
    //fix ie 1 :: begins
    $flash = '<script src="AC_RunActiveContent.js" type="text/javascript"></script>' . "\n";
        $flash .= '<script type="text/javascript">AC_FL_RunContent(
    \'codebase\',\'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\',
    \'width\',\' '. $width .'\',
    \'height\',\' '. $height .'\',
    \'quality\',\'high\',
    \'pluginspage\',\'http://www.macromedia.com/go/getflashplayer\',
    \'movie\',\' '. $movie .'\' );' . "\n";
    $flash .= '</script>' . "\n";

    $flash .= '<noscript><EM>' . "\n";
    //fix ie 1 :: ends
    
    $flash .= '<object type="application/x-shockwave-flash" data="'. $movie .'" '. $movie_width .' '. $movie_height.'>'."\n";
    $flash .= '<param name="movie" value="'.$flash_movie.'" />' . "\n";

    if(tep_not_null($background)) {
      $flash .= '<param name="bgcolor" value="#'.$background.'" />' . "\n";    
    } else {
      $flash .= '<param name="wmode" value="transparent">' . "\n";
    }
    
    $flash .= '</object>' . "\n\n";

    //fix ie 2 :: begins
    $flash .= '</EM></noscript><EM>' . "\n";
    //fix ie 2 :: ends

    return $flash;

    return $flash;
  }


- Dans catalog/includes/functions/banner.php remplacer :
vers la ligne 84:

Code
if (is_array($identifier)) {
        $banner = $identifier;
      } else {
        $banner_query = tep_db_query("select banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " where status = '1' and banners_id = '" . (int)$identifier . "'");


Par :
Code
if (tep_not_null($banner['banners_html_text'])) {
      $banner_string = $banner['banners_html_text'];
    } else {
      if ( substr($banner['banners_image'], -3, 3) == 'swf' ) {
      $size = getimagesize(DIR_WS_IMAGES . $banner['banners_image']);
      $banner_string = '<a href="' . tep_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '" target="_blank">' . mm_output_flash_movie( $banner['banners_title'], DIR_WS_IMAGES . $banner['banners_image'] , $size[0]  , $size[1]) . '</a>';


http://addons.oscommerce.com/info/2511
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-2013 Invision Power Services, Inc.