Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

mkdmkd1

  • *
  • 6
  • +0/-0
    • Просмотр профиля
ЧПУ
« : 06 Января 2013, 15:55:27 »
Есть раскрученный магазин на HTML, все товары лежат в корне сайта, тоесть URL http://www.site.ru/страница-товара, надо его перенести на UMI
но в UMI товар надо создавать только в папках и ссылка станет http://www.site.ru/печи/печи-камины/страница-товара.
Условием заказчика является чтоб ссылки остались прежними ,301 редирект тоже забраковал.Можно создать товары прямо в корне структуры но тогда товары не отображаются в страницах разделов.
Пожалуйста подскажите как можно решить эту проблему и настроить ЧПУ так как надо, может как-то через таблицу базы cms3_redirects

*

mkdmkd1

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #1 : 07 Января 2013, 16:13:06 »
Ответ-Если вы не размещаете товары в корне структуры сайта только из-за того, что у вас должна быть страница со всеми товарами, то этот вопрос решается достаточно просто, вам надо создать страницу (которая и должна в итоге выводить в своей центральной части все товары созданные в системе). Для этого, прекрасно подойдет макрос catalog getObjectsList() . Если указать его второй параметр "category_id" = "mode=all", то система выведет все товары где бы они не находились в структуре сайта.

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

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #2 : 08 Января 2013, 05:14:11 »
а можете подробнее рассказать как ответ из СЗ вам помог? я что-то не понял как это решает задачу

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:ЧПУ
« Ответ #3 : 10 Января 2013, 09:23:55 »
Vladimir, это не ответ от СЗ, это мой ответ написанный по почте при регистрации mkdmkd1.

Таким образом я хотел предложить mkdmkd1 создать в админке структуру которая позволяла бы выводить товары по ЧПУ  http://www.site.ru/страница-товара без разделов типа /печи/печи-камины

Вопрос с выводом всех товаров, я предлагал как создание страницы на которой выводятся все товары через макрос catalog getObjectsList()

Тут вроде все ок...

Но пользователь mkdmkd1 так же спрашивал как при этом выводить товары на страницах по производителю или что-то в таком духе.

P.S. mkdmkd1,  если я правильно понял, то вам необходимо еще иметь страницы с url вида http://www.site.ru/производитель1/ , на которой будут выводиться все товары данного производителя. Я правильно вас понял?

P.S.S. нужны ли вам еще какие-то страницы, в которых будет иметь место еще какое-то разделение товаров по тем или иным признакам?

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #4 : 10 Января 2013, 11:07:16 »
Да, со страницей,  где выводится список всех товаров, мне понятно - она будет в корне и на ней столбик ссылок на товары. Но вот дальше: есть условие полностью сохранить старые адреса товаров, не используя 301 редирект. Непонятно как это получить, не помещая товары в корень. (Причем, наверняка там еще и расширение .html в урлах).  Старые сайты таким часто грешат, так что решение было бы интересное.

И вопрос к ТС - а чем плох 301 редирект?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:ЧПУ
« Ответ #5 : 10 Января 2013, 11:19:20 »
ТС - это кто?

Цитировать
Непонятно как это получить, не помещая товары в корень.
Именно дело в том, что мы их переместим в корень. А добавку html теперь можно выводить и в umi если в config.ini выставить соответствующий флаг

P.S. 301 хорош, но не всем им умеют\любят пользоваться


*

mkdmkd1

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #6 : 10 Января 2013, 14:45:19 »
301 редирект не устраиввает заказчицу так как она хочет сохранить ту же структуру URL.
Структура старого сайта такая:
site.ru/pechi.html- на ней стоят ссылки на внутренние разделы(Печи для бани, печи отопительные...)

site.ru/pechi_dlja_bani.html - на ней стоят ссылки  на производителей(Печи для бани Термофор, Печи для бани Harvia...)

site.ru/pechi_dlja_bani_termofor.html -на ней уже идет список товаров(    
Компакт, Шилка...)

site.ru/termofor_shilka.html - ссылка на карточку товара

Но есть ёщё и меню по производителю:
site.ru//termofor.html -на ней ссылки на(Печи для бани Термофор, Печи отопительные Термофор...)
а дальше идут ссылки на список товаров site.ru/pechi_dlja_bani_termofor.html, которую я выше описал.

Я вначале предлагал заказчице сделать на Друпал но знакомые ей порекомендовали UMI .
Значит я поместил товары в корень, но чтоб выводить их по разделах сделал кастомный макрос catalog getObjectsList() в эту функцию передаю ёщё 1 новый параметр (Раздел razdel), добавил товару поле Раздел и в коде где идет цикл добавил код
if($element->getValue("razdel")!=$razdel) continue;   
Теперь на станице Для бани выводятся те что Банные .

Еще одна проблема что страница выглядит как просто список  ссылок , а надо каждому разделу картинка и описание(вобщем оформить каждую ссылку), это наверно решается через шаблоны? Я только пару дней работаю с UMI , пока еще не  разбирался с шаблонами.

Надо еще в конце ссылки добавить .html вместо слеша что выводит UMI, как я понял это можно сделать в config.ini ,но пока не нашел какой для этого нужен флаг?
Также думал покопаться в файле .htaccess , может через него можно сделать .html

*

mkdmkd1

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #7 : 10 Января 2013, 14:53:46 »
Чтоб получить в конце ссылки . html надо найти флаг url-suffix и сделать так url-suffix = ".html"

*

mkdmkd1

  • *
  • 6
  • +0/-0
    • Просмотр профиля
Re:ЧПУ
« Ответ #8 : 10 Января 2013, 15:01:10 »
Есть еще 1 интересный параметр alt-name-separator (разделитель внутри ссылки), можно если надо поставить "-"
найти описание настроек можно здесь http://dev.docs.umi-cms.ru/nastrojka_sistemy/dostupnye_sekcii/

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:ЧПУ
« Ответ #9 : 20 Января 2013, 21:57:51 »
Цитировать
Еще одна проблема что страница выглядит как просто список  ссылок , а надо каждому разделу картинка и описание(вобщем оформить каждую ссылку), это наверно решается через шаблоны? Я только пару дней работаю с UMI , пока еще не  разбирался с шаблонами.

надо найти шаблон в по которому выводится краткая карточка товара и там используя макросы или мини макросы вывести все необходимые данные.

Для начала определите какой у вас шаблонизатор, и напишите какой демо сайт вы устанавливали (это могло бы подсказать что вам поставила система по умолчанию)