Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структура каталогов в интернет магазине 
:(
    Опции темы
Ripper
Дата 12.1.2014, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



Добрый вечер

Хочу написать интернет магазин, простой. Делаю на laravel 4.1.
Есть таблица категорий товаров. Бесконечное количество вложений. Вывожу я эти категории в меню. В качестве URL можно было бы задать ID категории, но хочу ЧПУ. Вот не могу только понять как это делается. Допустим я ввожу в таблицу с категориями поле slug, в котором будет имя категории для url-а. Тогда URL можно строить в виде:
/phones/apple/
где phones и apple это slug-и категорий, phones отец, apple сын

Делаю в роутинге такую схему /categories/{productCategories} где последнее - параметр который содержит строку вида aaa/bbb/ccc/ddd, типа вложенные категории.

И как мне теперь достать нужную категорию? В плане, рассмотрим 2 случая:

/tablets/apple/
/phones/apple/

Я не могу просто взять последнее слово и по нему искать айдишник категории т.к. slug не уникален. Уникальна должна быть вся структура. И получается как-то геморно проходится по tablets искать всех детей, искать в них apple, проверять что больше категорий нет и т.п.

Что-то как то муторно, мне кажется все проще, просто не знаю как это проще реализовать




--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
ksnk
Дата 12.1.2014, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Про laravel ничего не знаю, но про чпу с магазинами имеются следующие мысли
  • Команде поддержки магазина всегда хочется иметь "вечные" ссылки, которые не будут меняться в зависимости от политики администрации и набора продаваемых товаров. Всякие пиар акции и статьи на сайте имеют ссылки на товары-группы и эти ссылки нежелательно менять.
  • Ссылки, вообще говоря, должны быть информативны сами по себе. Тоесть в ссылке на товар должно быть краткое его название-описание

Сcылка на товар, например, может содержать название товара, хотя бы и на русском
http://site.ru/items/%D0%9A%D0%BE%D0%BB%D1...%82%D0%B0).1111
Ключевым моментом тут будет цифровой индекс в конце адреса, по которому вычисляется товар. В качестве живого примера можно посмотреть на темы на phpclub.ru. Ссылки на темы сделаны примерно так. Можно применить транслитерацию, но для непродвинутых посетителей магазина это будет хуже, чем по русски.

В таком же стиле можно сделать и ссылку на группу товаров. В название через `-`, к примеру, слить все группы, и добавить в конец индекс самой группы.

Тоесть, ВСЕ чпу сводится к анализу первого токена (item|article|items|...) и финального индекса. Весь остальной мусор в ссылке нужен для ее читабельности.

польза такого подхода в том, что ссылки не устареют, даже если товар перекинут из группы в группу и группу перетасуют по магазину. Индексы, то не меняются.
Ну и достаточная читабельность ссылок - тоже довольно сильный сеошный ход.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
cia
Дата 12.1.2014, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: 4
Всего: 4



Могу порекомендовать в slug писать "полный путь", тоесть "tablets/apple". Разумеется в админке, при изменении верхней категории, нужно также автоматом править и вложенные.
PM WWW ICQ   Вверх
Gold Dragon
Дата 14.1.2014, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(Ripper @  12.1.2014,  03:11 Найти цитируемый пост)
В качестве URL можно было бы задать ID категории, но хочу ЧПУ.

Цитата(ksnk @  12.1.2014,  13:56 Найти цитируемый пост)
Ссылки, вообще говоря, должны быть информативны сами по себе. Тоесть в ссылке на товар должно быть краткое его название-описание
не соглашусь. Для пауков побоку какая ссылка, а человек всё равно не будет запоминать ссылку (да даже читать её не будет), просто скопирует себе или сделает закладку.

Лучше уж иметь сквозную идентификацию товара и получать ссылки по типу (её уж точно запомнить реально)

_http://moysite.ru/6281.html

всяко лучше чем 

_http://moysite.ru/krasnaya_shapochka_s_sinem_pumponom_dlya_malchikov.html

И ещё не нужно забывать что если магазин большой, то однозначно будут дубликаты названий

Если уж хочется, то можно добавить категорию


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ksnk
Дата 14.1.2014, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(Gold Dragon @  14.1.2014,  18:25 Найти цитируемый пост)
Для пауков побоку какая ссылка, а человек всё равно не будет запоминать ссылку (да даже читать её не будет), просто скопирует себе или сделает закладку.

Ссылки иногда просто складируют в отдельный файл, бросают по скайпу и по почте.

И чем, принципиально, отличается 
http://moysite.ru/6281.html
от 
http://site.ru/items/%D0%9A%D0%BE%D0%BB%D1...%82%D0%B0).1111
?
Цитата(ksnk @  12.1.2014,  12:56 Найти цитируемый пост)
Ключевым моментом тут будет цифровой индекс в конце адреса,




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 14.1.2014, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Цитата(ksnk @  14.1.2014,  20:27 Найти цитируемый пост)
И чем, принципиально, отличается 
человекопонятностью smile



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.