Оооо, блин. Да, да, разные страницы.Ну с чего они разные-то? Там разные тумбочки что ли? Информация на странице одинаковая, разве кроме хлебных крошек, но для гуглов это не важно.
Так не я же раздул, вопрос был простой и по большей степени теоритический!))И ради этого весь сыр-бор? Все еще запущенее оказалось.
Я уже писал, что не я придумал проблему. Пример я привел немного примитивный, но такое случается в реальной работе, особенно во всяких каталогах с товарами.Надо же придумать себе проблему на ровном месте!
Это выглядит примерно так:Дешево, оптимально, и не надо гнуть фреймворк.
Опять за рыбу деньги! Для "всяких каталогов товаров" действительно все, что написано тебе на первой странице. Твой пример с тумбочками никакого отношения к каталогам не имеет и решается по-другому.Я уже писал, что не я придумал проблему. Пример я привел немного примитивный, но такое случается в реальной работе, особенно во всяких каталогах с товарами.
100к запросов к админке? Это ты на несколько порядков перегибаешь. Даже если имеется в виду количество запросов в час.Надо же, то есть, мое стремление сделать гибких функционал админки и чтобы сайт не загнулся на 100к запросах - это узкое мышление?!)
Спасибо, я в курсе!В общем, если ты создаешь страницы site.ru/o_kompanii/raboty/tumbochki.html и site.ru/katalog/mebel/tumbochki.html, то не надо потом менять их адреса. А если меняешь, то ставь 301 редирект.
А я не про это спрашивал!Это тебе пытались объяснить.
Как думаете, что быстрее будет:Так что храни их адреса в виде raboty/tumbochki и katalog/mebel/tumbochki и не парься.
SELECT * FROM pages WHERE alias='katalog/mebel/tumbochki' или SELECT * FROM pages WHERE alias='tumbochki'
Придет, не придет, просто хочу чтобы такая возможность была!Пересобирать тоже лучше не надо. Менять их адреса в последствии вряд-ли кому-то придет в голову.
нет, речь идет о фронтенде!100к запросов к админке?
Сам себе противоречишь. Определись уже, чего хочешь?Спасибо, я в курсе!
А я не про это спрашивал!
Придет, не придет, просто хочу чтобы такая возможность была!
В твоей ситуации вообще пофигу.Как думаете, что быстрее будет:
PHP:SELECT * FROM pages WHERE alias='katalog/mebel/tumbochki' или SELECT * FROM pages WHERE alias='tumbochki'
Боишься, что из-за SQL-запроса лягут JavaScript или CSS?нет, речь идет о фронтенде!
Во, первый человек по теме спросил!)))) Я выше писал, что во втором варианте если более одного результата, делать исключение по родителю! Это и была суть вопроса, что лучше выбрать, так как у каждого варианта есть свои плюсы и минусы.а что будет если у тебя тумбочки в разных отделах, например офисная бебель, спальня, детская. там везде тумбочки, но разные. второй вариант имеет проблему коллизий.
Точнее даже вот так:если у тебя дерево, то можно просто в выборку добавлять
SELECT * FROM pages WHERE alias='tumbochki' AND parent_id = ?
SELECT t1.* FROM pages t1, pages t2 WHERE t1.alias='tumbochki' AND t2.alias='detskaya' AND t2.id=t1.parent
А можно ли при такой схеме (parent - id) выбрать все товары, допустим, из группы Детская: тумбочки, кроватки, коврики?..Точнее даже вот так:
PHP:SELECT t1.* FROM pages t1, pages t2 WHERE t1.alias='tumbochki' AND t2.alias='detskaya' AND t2.id=t1.parent
Не совсем понял вопроса, что значит "выбирать все товары"? Если для вывода списка товаров на странице, то это немного другое!А можно ли при такой схеме (parent - id) выбрать все товары, допустим, из группы Детская: тумбочки, кроватки, коврики?..
Да, для вывода товаров на странице (можно ли использовать в этом случае дерево только на основе id-parent). Ну, если не входит в эту тему, тогда ладно.Не совсем понял вопроса, что значит "выбирать все товары"? Если для вывода списка товаров на странице, то это немного другое!
Ну в этом случае какие проблемы, вытаскиваем по id родителя и все! Весь сыр бор то вокруг получения документа по url!Да, для вывода товаров на странице
А смысл? Смотри, например мы меняем "razdel/category/my_page.html" на "rasdel/category/my_page.html" и придется менять путь уже во всех дочерних, да знаю, переименовывать это зло, но все же!))И добавить еще alias_short (или node_name), короче совместить оба варианта.