begin process at 2010 03 22 10:57:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

AP URL Rewriting


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AP URL Rewriting

samedi 26 mai 2007 à 00:04:36 | AP URL Rewriting

bellamy

Membre Club

Bonjour,
 
J'aurais besoin d'un coup de main SVP.

J' ai un site qui fonctionne sur oscomerce, j' ai ajouter le module  AP URL Rewriting.
j'aimerais modifier la fonction  tep_href_link().
faire un test pour identifier les pages suivantes a partir des URL:
   
   -Homepage
   -Les pages insitututionnelles
   -Pages mosaiques
   -Pages produits
Pour faire des regles de réecriture differentes pour chaque type de page identifiée.
Voila le code :
function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true, $rewrite_name = true) {
    global $request_type, $session_started, $SID;

    if (!tep_not_null($page)) {
      die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine the page link!<br><br>');
    }

    if ($connection == 'NONSSL') {
      $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
    } elseif ($connection == 'SSL') {
      if (ENABLE_SSL == true) {
        $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
      } else {
        $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
      }
    } else {
      die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine connection method on a link!<br><br>Known methods: NONSSL SSL</b><br><br>');
    }

  ////
 // AP URL Rewriting
  if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) && ($rewrite_name ==  true) ) {
   if (tep_not_null($parameters)) {
    foreach (explode("&", $parameters) as $parameter) {
     if (ereg("cPath=([0-9_]+)", $parameter, $regs)) $cPath = $regs[1];
     if (ereg("products_id=([0-9]+)", $parameter, $regs)) $product_id = $regs[1];
     if (ereg("manufacturers_id=([0-9]+)", $parameter, $regs)) $manufacturer_id = $regs[1];
    }

    if (defined('URL_SLOGAN')) $link .= URL_SLOGAN . '/';

    if (tep_not_null($cPath)) {
     $cPath_array = tep_parse_category_path($cPath);
     foreach($cPath_array as $category_id) {
      $category_name = tep_url_rewriting_cast(tep_get_categories_name($category_id));
      if (tep_not_null($category_name)) $link .= $category_name . '/';
     }
    }

    if (tep_not_null($manufacturer_id)) {
     $manufacturer_name = tep_url_rewriting_cast(tep_get_manufacturers_name($manufacturer_id));
     if (tep_not_null($manufacturer_name)) $link .= $manufacturer_name . '/';
    }

    if (tep_not_null($product_id)) {
     $product_name = tep_url_rewriting_cast(tep_get_products_name($product_id));
     if (tep_not_null($product_name)) $link .= $product_name . '/';
    }
   }
  }
 // AP URL Rewriting
 ////

    if (tep_not_null($parameters)) {
      $link .= $page . '?' . tep_output_string($parameters);
      $separator = '&';
    } else {
      $link .= $page;
      $separator = '?';
    }

    while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1);

// Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined
    if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) {
      if (tep_not_null($SID)) {
        $_sid = $SID;
      } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) {
        if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) {
          $_sid = tep_session_name() . '=' . tep_session_id();
        }
      }
    }

    if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {
      while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);

      $link = str_replace('?', '/', $link);
      $link = str_replace('&', '/', $link);
      $link = str_replace('=', '/', $link);

      $separator = '?';
    }

    if (isset($_sid)) {
      $link .= $separator . tep_output_string($_sid);
    }

    return $link;
  }
Toutes les idées sont la bienveune.
Merci d'avance.



Cette discussion est classée dans : true, id, name, link, tep


Répondre à ce message

Sujets en rapport avec ce message

au seccour ! update d element avec for [ par pbreaker ] Bonjour, Est ce que qq1 peut m expliquer ce qui ne va pas dans ce code!!!! je n arrive pas a updater dans la BD  if ($total_stock      & Erreur -> mysql_fetch_array(): [ par Kaydara ] Bonjour à tous,Je suis un débutant en PHP et j'essais d'installer un programme mais il m'affiche ces codes d'erreurs :Warning: mysql_fetch_array(): su Requete qui deconne [ par rouliendelavegas ] Bonjour,J'ai un soft d'inventaire qui stocke les resultats dans MySQLJe souhaiterais faire une requete qui affiche les utilisateurs possedant le soft Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste [ par stark_2097 ] Salut à tousMe revoilà avec un nouveau problème.J'ai deux listes déroulantes alimentées par SQL que je nomme "conditionnelles" car le fait de choisir Optimisation de requete et jointure de table [ par longshot41 ] Bonjour, Dans une base j'ai une table "client" -> ID, Nom, Prenom, Ville etc.. une autre par ex. "Animaux" -> ID, Genre que je rempli avec "Chien", "C Tableau php [ par walid981 ] Bonjour,je vous explique la situationj'ai 2 tableaux de la meme structure, avec les memes clésje veux inserer l'un à la fin de l'autre sans perdre les help a un NUL manque ligne dans code [ par jlucz75 ] salut les gars,je suis vraiment un tres nul en code je poste d'ailleurs sur le groupe javacar si y'a mieux en java je suis preneurj'ai pris que les di Afficher plusieurs données [ par HydraThallium ] Bonjour, je cherche désespérément à créer un tableau contenant un nombre de ligne dépendant de ma database. Seulement mon faible niveau de php me cond Condition: true et false [ par djack69 ] Bonsoir tout le monde, Je créé un site en ce moment et je suis sur une partie du site ou je bloque. je créé une partie tuto avec un petit système Récupérer le champ "ID" d'une table en sélectionnant un autre champ de cette même table. [ par stark_2097 ] Bonjour à tous.Je suis un amateur de très très bas niveau en PHP et j'ai pas mal de questions pour finaliser mon projet... merci d'être compréhensif e


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales