Форум → Программирование → PHP для идиотов → Замена ссылок на другие
Замена ссылок на другие
Страницы: ← Следующая страница →
-
Не знаю знаком ли кто нибудь с модулем Ultimate SEO URLs для OSCommerce, он заменяет все ссылки в магазине с product_info.php?products_id=61 на nazvanie-producta-p-61.html
Делаю по аналогии модуль для Shop-Script'a Premium, в принципе наваял вывод такого вида: доп. характеристика - название - p - id_товара.html (пример: Bridgestone-Hakkapelita-M728-p-116.html), но столкнулся с проблеммой замены url'ов в самом магазине.
Грубо говоря понимаю что нужно парсить и заменять старые урл. на новые. Опять же проблемма стоит в том чтобы из каждого спарсеного url'а выделять id товара, для того чтобы из базы вытащить нужные данные и потом уже заменить урл'ы на свои.
Прошу помощи в направлении куда копать, бо я в замешательстве :( -
11 декабря 2009 г. 8:48, спустя 5 часов 4 минуты 46 секунд
developer, Элементрано:
получаеш весь адрес с серверной переменной $_SERVER['REQUEST_URI'] и explode'ш его с разделителем "слеш".
После этого второй элемент в полученном массиве и будет указанное тобою сокращение. Ты его уже explode'ш, только на сей раз разделитель берешь как тире "-".
Полученный массив переворачиваешь, и первый элемент будет АйДишкой, второй указывает на тип получаемых данных ("p" - продукт, "c" - категория и т.д.). Ну и остальное в этом массиве - это модель, либо прочее, из чего ты и создавал сам УРЛ :). -
11 декабря 2009 г. 18:28, спустя 9 часов 39 минут 17 секунд
это понятно, но как быть если на странице index.php?categoryID=79
выводится список товаров:
index.php?productID=116
index.php?productID=117
index.php?productID=118
И их все нужно заменить? -
11 декабря 2009 г. 18:35, спустя 7 минут 28 секунд
я юзаю регекспы для чпу, как в джанге
urlpatterns = patterns('',
(r'^index.php?productID=([0-9]{1,5})$', product),
)
# или можно получить GET… кому что
<?php
Panjo::url('^index.php?productID=(?<id>\d+)$', 'product');Спустя 69 сек.таким образом можно любые вызовы завязать на один вью
<?php
Panjo::url('^index.php?productID=(?<id>\d+)$', 'product');
Panjo::url('^/product/(?<id>\d+)/$', 'product');https://smappi.org/ - платформа по созданию API на все случаи жизни -
11 декабря 2009 г. 18:42, спустя 7 минут 6 секунд
ob_start();
…. тело index.php
$re = array("'index.php\?productID=([0-9]*)'");
$out = array("-p-\\1.html");
$contents = ob_get_contents();
ob_end_clean();
print preg_replace($re,$out,$contents);
идет замена, а вот отделить всё что после productID= не могу, это нужно для того чтобы я мог выгрузить в него транслит названия и марки для прописания перед -p- -
11 декабря 2009 г. 18:47, спустя 4 минуты 25 секунд
developer, типа сначала формировать ссылки вида
index.php?productID=116
index.php?productID=117
index.php?productID=118
а потом их заменять? И так каждый раз? Oohttps://smappi.org/ - платформа по созданию API на все случаи жизни -
11 декабря 2009 г. 18:57, спустя 9 минут 48 секунд
developer, типа сначала формировать ссылки вида
index.php?productID=116
index.php?productID=117
index.php?productID=118
а потом их заменять? И так каждый раз? Oo
они уже сформированы :( скрипт сам их формирует. -
11 декабря 2009 г. 19:07, спустя 10 минут 46 секунд
developer, хы) вопрос знакомый. на серче топик видел седняСпустя 81 сек.зы: иногда проще "пройтись гребенкой чем снова вспахать поле" (с) дуд (с) конечно же он.
я за то, чтобы тоже регуляркой пофиксить ссылки и все :)Сапожник без сапог -
11 декабря 2009 г. 19:08, спустя 29 секунд
developer, а скрипт этот нельзя сразу переписать? Или накладно?https://smappi.org/ - платформа по созданию API на все случаи жизни -
11 декабря 2009 г. 19:08, спустя 25 секунд
это инет магазин 90%
developer, а скрипт этот нельзя сразу переписать? Или накладно?Сапожник без сапог -
11 декабря 2009 г. 19:09, спустя 1 минуту 2 секунды
тебя же там уволили, херли там еще делать :) я вообще там 1-2 раза появлялся, там сброд уровня phpforum
developer, хы) вопрос знакомый. на серче топик видел седняСпустя 30 сек.
ну у меня тоже магазин, только на своем движке :)
это инет магазин 90%
developer, а скрипт этот нельзя сразу переписать? Или накладно?https://smappi.org/ - платформа по созданию API на все случаи жизни -
11 декабря 2009 г. 19:17, спустя 8 минут 2 секунды
developer, хы) вопрос знакомый. на серче топик видел седняСпустя 81 сек.зы: иногда проще "пройтись гребенкой чем снова вспахать поле" (с) дуд (с) конечно же он.
я за то, чтобы тоже регуляркой пофиксить ссылки и все :)
не, там я тему не поднимал, только здесь. обычно только здесь я получаю правильно направленный пинок :)
да, скрипт магазина. сейчас конечно посижу попробую в самом магазине дописать транслитерацию и вывод в шаблон смарти нужного кода (название-производитель), а в самих шаблонах в ручную поменяю index.php?productID={$product_info.productID} на {$seo}-p-{$product_info.productID}.html
правда пока не знаю как, ибо не могу найти то место где происходит выборка товаров из базы и формирование $product_info.productID -
11 декабря 2009 г. 19:21, спустя 4 минуты 1 секунду
phpdude, ну раз ты за способ с регуляркой, то помоги ТСуhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
11 декабря 2009 г. 19:26, спустя 4 минуты 22 секунды
я помог :)
phpdude, ну раз ты за способ с регуляркой, то помоги ТСу
сказал куда читать =)Сапожник без сапог -
11 декабря 2009 г. 21:10, спустя 1 час 44 минуты 33 секунды
можно ещё так в шаблонах: {$product_info.name|regex_replace:"/[ ]/":"_"}-p-{$product_info.productID}.html
но вот как транслит делать пока не нашёл
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!