Перейти к содержанию
chaser

[Решено] Программно сгенерировать ЧПУ из УРЛ с параметрами

Рекомендуемые сообщения

Привет!

 

Есть некая страница на сайте и два варианта ее УРЛ:

 

Как программно для страницы имея ссылку типа 1 сгенерировать ссылку типа 2?

Какие модули подключить и как их использовать?

Перерыл интернет, но так и не нашел (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понятна задача. Вы хотите заполнить в товарах? Тогда к чему ссылка номер 1?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понятна задача. Вы хотите заполнить в товарах? Тогда к чему ссылка номер 1?

 

У меня есть свой модуль для редактирования товаров.

И для удобства ссылки на каждый товар, я их генерирую таким образом

 

 

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

 

Соотв. получаю ссылку на товар, но с параметрами.

А вот как преобразовать ее в ЧПУ никак не пойму.

Изменено пользователем chaser

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел в "seo_url.php" функцию "function rewrite($link)", но что-то не работает вообще. Возможно просто что-то не так делаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы ссылка формировалась - нужно, чтобы весь путь был ЧПУшный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы ссылка формировалась - нужно, чтобы весь путь был ЧПУшный

 

Не совсем понял. При переходе по ссылке http://magazin.ru/index.php?route=product/product&path=1&product_id=2 в браузере она автоматом трансформируется в https://magazin.ru/kategoria/moya-stranica.html

Что вы хотели сказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда я не понял, что вы спросили :)

 

если у вас включено ЧПУ, то функция rewrite работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда я не понял, что вы спросили :)

 

если у вас включено ЧПУ, то функция rewrite работает

 

Задам вопрос так )

 

Как из кода ниже сгенерировать ссылку вида ЧПУ?

 

 

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

 

Т.е. имеем: либо готовую ссылку на товар с параметрами (код генерации выше), либо сами параметры ID_категории и ID_товара

 

Соотв. мне нужен ПХП код для генерации ЧПУ аналогичный как выше для ссылки на товар с параметрами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, ЧПУ в ЦМС у меня генерится при помощи "seo_pro.php"

Как с помощью него добиться генерации через свой скрипт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

когда вы напишите

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

то в $lnk  вы будете уже иметь ЧПУ ссылку - за это отвечают seoреврайтеры

 

Если вам нужен в ссылке еще один параметр, то добавляйте и его

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id'].'&someparametr='.$someparametr);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

когда вы напишите

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

то в $lnk  вы будете уже иметь ЧПУ ссылку - за это отвечают seoреврайтеры

 

Если вам нужен в ссылке еще один параметр, то добавляйте и его

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id'].'&someparametr='.$someparametr);

 

при этом я получаю ссылку вида http://magazin.ru/index.php?route=product/product&path=1&product_id=2

 

и никакие реврайтеры автоматом ничего не делают

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какой тип SEO чпу у вас настроен

 

Категория с $category_id имеет ЧПУ соответсвие?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какой тип SEO чпу у вас настроен

 

Категория с $category_id имеет ЧПУ соответсвие?

 

Конечно имеет, если при вставке УРЛ в строку браузера оно автоматом преобразовывается в ЧПУ

 

СЕО_Про - писал выше

Изменено пользователем chaser

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит, у вас что что-то сломалось,

Вы бы показали сайт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит, у вас что что-то сломалось,

Вы бы показали сайт

 

Те вы хотите сказать что код

 

 

$lnk = $url->link('product/product', 'path=' . $category_id . '&product_id=' . $row['product_id']);

 

Должен сразу генерить в ЧПУ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, именно это я и хочу сказать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, именно это я и хочу сказать

 

Так может я тут чтото не указал

 

 

 $url = new Url('http://ццц.ru/' 'http://ццц.ru/');

 

Так как в url.php

 

 

<?php

class Url {

    private $url;

    private $ssl;

    private $rewrite = array();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы о чем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы о чем?

 

Так может я тут чтото не указал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по внешнему виду вроде все указано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил сам, просто перенес часть кода из seo_pro

Тему можно закрывать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Куда перенес? Зачем?

О исполнители идущие за вами... Как  мне их жалко.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Куда перенес? Зачем?

О исполнители идущие за вами... Как  мне их жалко.

 

Ну вы же так и не сообразили как решить вопрос )

Пришлось самому решать.

А главное - результат ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каком месте я не сообразил?

 

Вам бы разобраться, почему не работает $this->url->link правильно, а не лепить какашку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каком месте я не сообразил?

 

Вам бы разобраться, почему не работает $this->url->link правильно, а не лепить какашку.

 

К сожалению не было времени на анализ, поэтому пришлось сделать так...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Sha
      300.00 руб
      Скачать/Купить дополнение


      Менеджер модулей "Freyr 1" Визуальный редактор шаблонов.
      Вышла версия для OpenCart, ocStore 2.1.x.x
      Визуальный редактор схем и расположения модулей.
      Настройка модулей opencart, для admin панели.
      Позволяет легко настроить внешний вид Вашего интернет магазина. ~ по типу "конструктор сайта" Opencart.
      Добавлена новая функция позволяющая изменить заголовок модуля. например заменить "Рекомендуемые" на "Мы рекомендуем".
      (тестировался на ocStore 1.5.5.1.1, 1.5.5.1.2) файл ocStore-panel-1.8.1.zip
      (работает на ocStore 1.5.4... и чистом OpenCart - отдельный файл) freyr-(ocStore_1.5.4-and-empty_OpenCart).zip
      Установка
      Просто скопируйте содержимое папки [upload] в корень движка.
      Обновление
      Произведите установку новой версии поверх старой, заменяя файлы модуля.
      Важно
      Модуль не затирает, не заменяет ни каких файлов движка,
      тем не менее рекомендуем перед установкой делать бэкап файлов, а перед началом работы,
      настоятельно рекомендуем сделать бэкап базы данных!!!
      Дополнение предоставляется по принципу "Как есть", Разработчик не гарантирует отсутствия ошибок, которые могут нарушить работу компьютера и/или привести к потере данных. Также, если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.Чем больше сторонних модулей, расширений, редакций - тем меньше "гарантий" нормальной работы.
      ДЕМО Panel Regularize "Freyr"
      нажать (сверху справа) кнопку "Быстро войти!"
      или имя пользователя: login пароль: login
      (демонстрационная ограниченная версия)
      ПОДРОБНЕЙ НА САЙТЕ
      Лицензия
      - скачать модуль можно только на форуме opencartforum.com
      - здесь представлено описание и обсуждение багов или доработок модуля (предлагайте)
      остальные способы распространения opencart "Freyr" левые и ни какого отношения к данному модулю не имеют)))
      - Шаблон реализуется по принципу "1 покупка – 1 доменное имя"
      - Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.
      .
      Добавил Sha Добавлено 30.01.2014 Категория Редакторы Системные требования Сайт разработчика r.konotop.info Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От horecamarketdn
      Друзья! Нужна ваша помощь! Как, что и где нужно написать (настроить) на сайте в OpenCart, чтобы можно было в Вебвизоре Яндекс Метрики смотреть в "Параметрах визитов" информацию по ip-адресам посетителей?
    • От Sha
      Вышла версия для OpenCart, ocStore 2.1.x.x
      Визуальный редактор схем и расположения модулей.
      Настройка модулей opencart, для admin панели.
      Позволяет легко настроить внешний вид Вашего интернет магазина. ~ по типу "конструктор сайта" Opencart.
      Добавлена новая функция позволяющая изменить заголовок модуля. например заменить "Рекомендуемые" на "Мы рекомендуем".
      (тестировался на ocStore 1.5.5.1.1, 1.5.5.1.2) файл ocStore-panel-1.8.1.zip
      (работает на ocStore 1.5.4... и чистом OpenCart - отдельный файл) freyr-(ocStore_1.5.4-and-empty_OpenCart).zip
      Установка
      Просто скопируйте содержимое папки [upload] в корень движка.
      Обновление
      Произведите установку новой версии поверх старой, заменяя файлы модуля.
      Важно
      Модуль не затирает, не заменяет ни каких файлов движка,
      тем не менее рекомендуем перед установкой делать бэкап файлов, а перед началом работы,
      настоятельно рекомендуем сделать бэкап базы данных!!!
      Дополнение предоставляется по принципу "Как есть", Разработчик не гарантирует отсутствия ошибок, которые могут нарушить работу компьютера и/или привести к потере данных. Также, если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.Чем больше сторонних модулей, расширений, редакций - тем меньше "гарантий" нормальной работы.
      ДЕМО Panel Regularize "Freyr"
      нажать (сверху справа) кнопку "Быстро войти!"
      или имя пользователя: login пароль: login
      (демонстрационная ограниченная версия)
      ПОДРОБНЕЙ НА САЙТЕ
      Лицензия
      - скачать модуль можно только на форуме opencartforum.com
      - здесь представлено описание и обсуждение багов или доработок модуля (предлагайте)
      остальные способы распространения opencart "Freyr" левые и ни какого отношения к данному модулю не имеют)))
      - Шаблон реализуется по принципу "1 покупка – 1 доменное имя"
      - Запрещается передавать файлы модуля третьим лицам, как на платной, так и на безвозмездной основе.
      .
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.