Старый 23.06.2010, 19:50   #1
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 248
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию Если статья (товар) принадлежит нескольким категориям

Часто бывает так, что статья должна принадлежать одновременно разным категориям. Например, снеговик может принадлежать как категории "объемные фигуры", так и категории "новогодние украшения".

Есть два варианта реализации этого в движке:

1) Сделать возможным привязывать объект сразу к нескольким категориям (аля жесткая ссылка в никсах).
2) Объект может быть привязан только к одной категории, но с возможностью создания объектов-ссылок на данный объект (аля символическая ссылка в никсах).

В первом варианте главный недостаток заключается в том, что создается множество дубликатов, что очень не любят поисковики. Т.е. одна и та же страница будет доступна через разные УРЛы (в зависимости через какую категорию к ней осуществляется доступ).

Во втором варианте дубликатов не создается в принципе. Но недостаток заключается в том, что например, если объект "снеговик" расположен реально в категории "объемные фигуры", а в категории "новогодние украшения" имеет ся объект-ссылка на него. То щелкнув по этому объекту-ссылке из категории "новогодние украшения", мы переместимся на страницу "снеговики", но в окружении категории "объемные фигуры", что влияет на подсветку меню, хлебные крошки и пр.

Я в итоге предпочел второй вариант, как меньшее зло.

А что вы думаете по этому поводу?
boric вне форума   Ответить с цитированием
Старый 23.06.2010, 19:56   #2
Визжащий хомячок
 
Аватар для XAHTOB
 
Регистрация: 12.01.2010
Сообщений: 3,667
Вес репутации: 361
XAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущееXAHTOB - прекрасное будущее
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
что очень не любят поисковики
Цитата:
Сообщение от boric Посмотреть сообщение
А что вы думаете по этому поводу?
Чёт мне кажется что поисковики вынуждают ВМ делать сайты не для людей, а для поисковиков. ИМХО, конечно. Но как бороься, и стоит ли? Вот же ж вопрос вопросов?
__________________
– Что ж, по крайней мере, сейчас ты знаешь, что не понимаешь ничего, – заметил Ург. – А если я дам тебе какие-то разъяснения, ты все равно ничего не поймешь, но, чего доброго, решишь, будто все понял. Ничего не может быть опаснее неосознанного невежества!
XAHTOB вне форума   Ответить с цитированием
Старый 23.06.2010, 20:03   #3
Хитрый жук
 
Аватар для Алексей Барыкин
 
Регистрация: 05.12.2007
Адрес: Конаково
Сообщений: 2,987
Вес репутации: 388
Алексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущееАлексей Барыкин - прекрасное будущее
По умолчанию

Как вариант - использовать rel="canonical"
http://devaka.ru/articles/link-rel-canonical

Яша говорит что скоро тоже будет его поддерживать.
http://clubs.ya.ru/search/replies.xm...013&ncrnd=5699
__________________
taurion.ru | adminbook.ru | indesignbook.ru
Алексей Барыкин вне форума   Ответить с цитированием
Старый 23.06.2010, 21:02   #4
Специалист
 
Регистрация: 20.03.2009
Адрес: Самара
Сообщений: 131
Вес репутации: 186
Evils - весьма и весьма положительная личностьEvils - весьма и весьма положительная личность
По умолчанию

Алексей, вы прям поменяли мой взгляд на данную проблему. Ушел переделывать сайт...
Evils вне форума   Ответить с цитированием
Старый 23.06.2010, 21:57   #5
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 248
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Алексей Барыкин,
Цитата:
Как вариант - использовать rel="canonical"
Ознакомился. Можно использовать, но это все равно костыль. Наверняка найдет широкое применение как заплатка для проблемных в этом отношении движков. Но проблемы все равно сохраняются. Например, надо будет следить за всеми дубликатами. Если на вариант вашей страницы будут идти внешние ссылки, а потом вы решите просто убрать ее из данной категории, то эти ссылки будут указывать в 404.

Я все же оставлю вариант: один объект - один урл. Это очень удобно (особенно после джумлы) иметь возможность свободно перемещать объект из одной категории в другую, совершенно не беспокоясь об УРЛ-ах, ибо они неизменны.

А как обойти изменение родительской категории при переходах, я примерно придумал. Это можно сделать, сохраняя в сессии предыдущую категорию, и при рендеринге (публикации) объекта брать в качестве родительской или реальную родительскую категорию, или предыдущую категорию, сохраненную в сессии.
На досуге попробую доработать свой движок.
boric вне форума   Ответить с цитированием
Старый 24.06.2010, 07:02   #6
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 236
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

Имхо, сессии надо создавать, когда в этом есть необходимость. Для каждого посетителя создавать сессию - расточительность. Тогда уж в куку пишите.
ahsinis вне форума   Ответить с цитированием
Старый 24.06.2010, 10:10   #7
Эксперт
 
Аватар для Cyj
 
Регистрация: 01.04.2008
Адрес: Москва
Сообщений: 1,131
Вес репутации: 233
Cyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущееCyj - прекрасное будущее
По умолчанию

rel="canonical" это не вариант, это стабильное решение проблемы.
Дубликаты убираем только так. Яндекс уже норально поддерживает этот тег.
Костыль это то, как у ва это организовано на сайте. У нас цмска и база заточены под дубликаты, все отлично автоматом раставляется.
Cyj вне форума   Ответить с цитированием
Старый 24.06.2010, 10:55   #8
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 248
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

Cyj
Все же я уверен, что идеальный вариант - это когда любой оъект имеет один уникальный урл.

rel="canonical" - это лишь частичное решение проблемы.
Это же очевидно и даже поисковики тут не при чем. Еще раз приведу банальный пример:

Предположим имеется товар-iphone4 в категории "телефоны". Также у вас есть категория "новинки". Вы временно помещаете iphone4 в эту категорию "новинки". Т.е. у вас iphone4 - теперь находится одновременно в двух категориях, соответственно с доступом по двум РАЗНЫМ УРЛам (назовем URL1 и URL2).
Теперь предположим одна половина народа стала заходить на эту страницу через URL1, а другая половина - через URL2. Соответственно одни проставят ссылки на URL1, а другие - на URL2, хотя по сути они ссылаются на один и тот же объект.

Через какое-то время iphone4 перестает быть новинкой и вы его убираете из категории "новинки". В этом случае страница по URL2 будет выдавать код 404, и все ссылки на нее будут похерены. Это не нормально во всех отношениях.

В случае "один объект - один урл" такая ситуация исключена.

ahsinis,
Цитата:
Имхо, сессии надо создавать, когда в этом есть необходимость. Для каждого посетителя создавать сессию - расточительность. Тогда уж в куку пишите.
Согласен, наверно в куку лучше будет. Тем более, что хранить достаточно только ID предыдущего объекта. Правда придется делать один дополнительный запрос к БД (чтобы получить список подузлов), но он коротенький.

Добавлено через 8 минут
ЗЫ:
Я в своем движке полностью отделил структуру УРЛов от структуры контента. Т.е. любое изменение структуры контента не оказывает никакого вляния на УРЛы. Например, я могу спокойно премещать контент из категории в категорию, совершенно не беспокоясь об УРЛ-ах, ибо они не будут меняться.
Спустя некоторое время использования такого подхода, могу констатировать, что это очень удобно.

Последний раз редактировалось boric; 24.06.2010 в 10:55. Причина: Добавлено сообщение
boric вне форума   Ответить с цитированием
Старый 24.06.2010, 11:57   #9
Мастер
 
Аватар для Sergius
 
Регистрация: 09.06.2009
Сообщений: 602
Вес репутации: 217
Sergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущееSergius - прекрасное будущее
По умолчанию

Цитата:
Сообщение от boric Посмотреть сообщение
Предположим имеется товар-iphone4 в категории "телефоны". Также у вас есть категория "новинки". Вы временно помещаете iphone4 в эту категорию "новинки". Т.е. у вас iphone4 - теперь находится одновременно в двух категориях, соответственно с доступом по двум РАЗНЫМ УРЛам (назовем URL1 и URL2).
boric, если необходимо для каждого объекта создавать в любом случае свою отдельную страницу(не кучу товаров на одной), загляните в реализацию Ditto+TV+DDtree(Mod-X CMS).давно этим не увлекался, но идея может Вам помочь:
-уникальный и единственный id-дока, куда ссылаемся.
-легкое управление из админки "дочерними" или "родительскими" документами текущего.
-в шаблоне сами полностью управляем привязкой к документам.Соответственно, по фильтру выводятся только один раз созданные документы, без дубликатов.
Sergius вне форума   Ответить с цитированием
Старый 24.06.2010, 13:14   #10
Эксперт
 
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 248
boric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущееboric - прекрасное будущее
По умолчанию

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

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

В первом варианте правильное окружение обеспечивается доступом к объекту через разные урлы. Но плодятся дубликаты страниц (эти страницы отличаются лишь окружением, т.е. совсем мало).

Во втором варианте доступ к объекту осуществляется всегда через уникальный урл (дубликаты совершенно исключаются), но окружение будет соответствовать той категории, где реально находится объект, а не той, где находится ссылка на него (если оттуда был переход).

В первом варианте очень сильно напрягают дубликаты.
Во втором варианте напрягает изменение окружения при переходе по объекту-ссылке. Например, если я кликну по ссылке iphone4 из категории "новинки", то у меня откроется страница с iphone4 в окружении категории "телефоны", а не "новинки".

Второй вариант мне больше нравится. Тем более недостаток со сменой окружения можно попробовать нивелировать через сессии-куки.
boric вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание спроса на товар при помощи контекстной рекламы slon Контекстная реклама 0 29.05.2010 02:26
как работать нескольким оптимизаторам от одной компании pavel_p Вопросы по работе системы 0 22.04.2010 06:05
К какому региону принадлежит сайт? dau Яндекс 9 25.06.2009 12:17
Товар лицом потенциальным рефералам по партнёрке! digiTALker Пожелания пользователей системы 10 06.10.2008 08:03
А как в Сапе искать площадки сразу по нескольким словам? XAOC Вопросы по работе системы 5 09.05.2008 14:48


Часовой пояс GMT +3, время: 16:47.