Bon OK A YE,
Je suis en train de travailler sur du rewriting.
Il me faudrais un coups de pouce pour du php car je suis une buse.
Donc, voici le sujet :
Dans le code suivant, les url sont transformées du format suivant
Citation
dans le format suivant :
Citation
Par contre, il me faudrais un .html derrière (ce doit être simple mais la je vois pas .... ) pour que l'url soit de cette forme (pour info, le .htaccess fonctionne bien):
Citation
Voici le code en question :
Citation
include('includes/application_top.php');
if ($REQUEST_URI == '') {
tep_redirect(tep_href_link(FILENAME_DEFAULT));
}
if ($REQUEST_TYPE == 'SSL') {
$comparison_array = explode('/', HTTPS_SERVER . DIR_WS_HTTPS_CATALOG, 4);
} else {
$comparison_array = explode('/', HTTP_SERVER . DIR_WS_HTTP_CATALOG, 4);
}
$comparison = $comparison_array[3];
$parts = explode('?', str_replace($comparison, '', $REQUEST_URI), 2);
$list = explode('/', preg_replace(array('#^/#', '#/$#'), '', $parts[0]));
if (sizeof($parts) == 2) {
$parameters = explode('&', $parts[1]);
foreach ($parameters as $pair) {
$pieces = explode('=', $pair);
$HTTP_GET_VARS[$pieces[0]] = $pieces[1];
}
}
$current_category_id = 0;
$cPath_array = array();
$count = 0;
foreach ($list as $piece_encoded) {
$count++;
$piece = urldecode(preg_replace(array('/[+]/', '/%20/'), array(' ', '%2F'), $piece_encoded));
if ($piece == 'catalog') {
continue;
}
$query_string = "select cd.categories_id from categories_description cd, categories c where cd.categories_id=c.categories_id and cd.categories_name='" . tep_db_input($piece) ."' and c.parent_id='" . (int)$current_category_id . "'";
$category_query = tep_db_query("select cd.categories_id from categories_description cd, categories c where cd.categories_id=c.categories_id and cd.categories_name='" . tep_db_input($piece) ."' and c.parent_id='" . (int)$current_category_id . "'");
if ($category_array = tep_db_fetch_array($category_query)) {
$cPath_array[]= $category_array['categories_id'];
$breadcrumb->add($piece, tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', $cPath_array)));
$current_category_id = $category_array['categories_id'];
} else {
if ($current_category_id != '0') {
$parent_where_string = " and p2c.categories_id='" . (int)$current_category_id . "'";
} else {
$parent_where_string = '';
}
$product_query = tep_db_query("select pd.products_id from products_description pd, products_to_categories p2c, products p where p.products_id = pd.products_id and p.products_status = '1' and pd.products_id=p2c.products_id and pd.products_name='" . tep_db_input($piece) ."'" . $parent_where_string);
if ($product_array = tep_db_fetch_array($product_query)) {
if (sizeof($cPath_array) < 1) {
$cPath = tep_get_product_path($product_array['products_id']);
$cPath_array = explode('_', $cPath);
for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) {
$categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");
if (tep_db_num_rows($categories_query) > 0) {
$categories = tep_db_fetch_array($categories_query); $breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1)))));
} else {
break;
}
}
} else {
$cPath = implode('_', $cPath_array);
}
$breadcrumb->add($piece, tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $product_array['products_id']));
$HTTP_GET_VARS['products_id'] = $product_array['products_id'];
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_PRODUCT_INFO;
$PHP_SELF = $PHP_SELF_REWRITE;
include(FILENAME_PRODUCT_INFO);
exit();
} else {
$manufacturer_query = tep_db_query("select manufacturers_id from manufacturers where manufacturers_name='" . tep_db_input($piece) ."'");
if ($manufacturer_array = tep_db_fetch_array($manufacturer_query)) {
$breadcrumb->add($piece, tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', $cPath_array) . 'manufacturers_id=' . (int)$manufacturers_array['manufacturers_id']));
$HTTP_GET_VARS['manufacturers_id'] = $manufacturer_array['manufacturers_id'];
if ($count == sizeof($list)) {
$HTTP_GET_VARS['filter_id'] = $current_category_id;
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_DEFAULT;
$PHP_SELF = $PHP_SELF_REWRITE;
$cPath = implode('_', $cPath_array);
$HTTP_GET_VARS['cPath'] = $cPath;
include(FILENAME_DEFAULT);
exit();
}
} else {
reset($list);
tep_redirect(tep_href_link(FILENAME_ADVANCED_SEARCH_RESULT, 'keywords=' . implode('+', $list)));
}
}
}
}
$cPath = implode('_', $cPath_array);
$HTTP_GET_VARS['cPath'] = $cPath;
$PHP_SELF_REWRITE = dirname($PHP_SELF) . '/' . FILENAME_DEFAULT;
$PHP_SELF = $PHP_SELF_REWRITE;
include(FILENAME_DEFAULT);
?>
Merci à vous,
Patotoche65