Вы можете использовать так называемый URL-слаг для достижения этого.
Добавьте в свою таблицу новое поле, называемое "url_slug" или подобное.Теперь вам нужно будет создать слаг для каждого продукта и сохранить его в этом поле.
CI имеет функцию в помощнике URL - url_title($string)
, которая будет принимать строку и преобразовывать ее для использования в URL.,
Например, My product name
станет my_product_name
.
Теперь, в вашем методе, вы можете либо - сохранить product_id
в неизменном виде, использовать его в качестве параметра для вашего метода для отображения конкретных продуктов и использовать слаг для дружественных для человека ссылок, либо вы можете просто использоватьurl_slug
для обозначения продуктов.
Ваш URL может выглядеть следующим образом:
www.domain.com/$category_name/$product_id/my_cool_product/$offset
или может выглядеть как
www.domain.com/$category_name/my_cool_product/$offset
без идентификатора.выбор за вами, но url_slug может измениться - идентификатор не будет.Что может иметь последствия для SEO.
Независимо от этого ваш метод должен выглядеть примерно так:
function display_product($product_id, $url_slug, $offset) {
// do what you gotta do...
}
Затем вы можете использовать URL-адреса, как указано выше.
используйте также URI-маршрутизацию, так как в приведенном выше примере будет предпринята попытка найти контроллер с именем $category_name
и метод с именем my_cool_product
, который, конечно, не будет существовать.информация .