Вход • Регистрация

СРОЧНО: Убрать приписку page при переключении страниц магазина

  • 10 июля 2014 г.
  • Всем привет. дело срочное.

    Помогите убрать приписку page при переключении страниц магазина

    нашел в файл paginator.inc.php строку

    Код
    /**
    * @var string шаблон части ссылки, отвечающей за передачу номера страницы
    */
    public $urlpage = 'page%d/';


    убрал page, но ничего не произошло. Где генерируется еще шаблон для пагинатора?
    • 10 июля 2014 г.
    • Никак не уберете, это ж имя переменной. site.ru/shop/cat3/page2/ - здесь всё, что после домена, согласно modrewrite из htaccess, является строковой переменной rewrite="shop/cat3/page2", которая разбирается на переменные и значения.
      page2 это $page=2.
      page можно переименовать или сократить до "р", но совсем убрать никак. Система понимает переданное ей page=2, переменная такая-то равна тому-то, но если придет просто "2", то что? Что за 2?
      • 10 июля 2014 г.
      • У нас же ЧПУ не жесткий, может быть каким угодно, и закрепленного места в урл для номера страницы нет. Пагинатор - общий плагин в системе. И она понимает и site.ru/shop/phones/page2/ и site.ru/page2/shop/phones/
        • 10 июля 2014 г.
        • у меня путь должен быть не


          site.ru/shop/page5/ к примеру

          а мне надо site.ru/shop/5

          вот так можно?
          • 10 июля 2014 г.
          • Я сразу это понял. И именно поэтому написал
            Цитата
            Система понимает переданное ей page=2, переменная такая-то равна тому-то, но если придет просто "5", то что? Что за 5?
            Это часть алгоритма, система разбирает буквы и цифры, формирует переменные и их значения. Минимально - один символ, одна цифра, типа /p5/, что означает p=5. Просто /5/ может быть только в составе строковой переменной rewrite, для всего ЧПУ.
            То есть, Вы можете создать страницу, и в её ЧПУ вписать хоть "shop/5", хоть "shop/5/4/3/45/ku-ku/17", но для системы это будет просто страница с адресом "site.ru/shop/5/4/3/45/ku-ku/17/". А для работы пагинатора надо ему (пагинатору) передать переменную со значением. Сейчас для системы есть зарезервированная переменная "page", если она встречается в ЧПУ как /page5/, то превращается в
            Код
            $page=5;
            .
            Сделать
            Код
            $=5;
            нельзя, как Вы понимаете :)

            Тут проще всего настроить .htaccess, указав регулярным выражением общее правило, мол, если /shop/$цифра/, то запрашивать /shop/page$этажецифра/
            Будет одно правило, одной строчкой, зато все страницы будут доступны и ПС их вскоре переиндексируют
            • 10 июля 2014 г.
            • Осталось придумать как такой .htaccess сделать))) Может была подобная задача у кого?
              • 11 июля 2014 г.
              • У меня была задача при миграции с opencart(osStore). Праведным решением было простановка 301 редиректов. Причем Вы можете редиректить не только в формате страница А = странице Б, вы можете написать в .htacceess правила обработки. Если я правильно помню, то RewriteMap поможет при создании "переменной"(в Вашем случае shop/5).

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум