Изменить URL значения свойства.

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

Balt
Balt
Репутация: 3
Сообщения: 34
Зарегистрирован: 18.05.2017
С нами: 6 лет 10 месяцев

Сообщение #1 Balt » 08.03.2019, 12:52

Искал, но не нашёл. Скорее всего, не там искал)
Вопрос в следующем: когда добавляю свойство, например "Размер" со значением 12,5"x120"x2,56" шаг 2,86" и 500x6144x22,5 шаг 63,5, то получается "12c5qux120qux2c56quspshagsp2c86qu" и "500x6144x22c5spshagsp63c5" соответственно.
Как сделать так, чтобы URL выглядел по-человечески, чтобы вместо пробелов, запятых и др. знаков не подставлялись буквы?
Чтобы было: "12_5x120x2_56-shag-2_86" и "500x6144x22_5-shag-63_5" или "125x120x256-shag-286" и "500x6144x225-shag-635".
Версия движка 2.3.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 08.03.2019, 15:55

В версии 2.3.0 разработчики реализовали такое изобретение:
1.9. Сделана замена спецсимволов на буквенные значения при формировании транслитов для значений свойств.

Описанный недостаток - прямое следствие этого нововведения.

О некоторых, мягко говоря, неудобствах того способа уже сообщалось в теме
viewtopic.php?f=7&t=1087&p=5477#p5477
Там поддержка никак не среагировала на описанные недостатки. Разве что намекнула, что если админ сделал опечатку, то он дурак...

Balt
Balt
Репутация: 3
Сообщения: 34
Зарегистрирован: 18.05.2017
С нами: 6 лет 10 месяцев

Сообщение #3 Balt » 08.03.2019, 17:37

Странное, конечно, решение... По мне, так в версии 2.2 это лучше работало. Хоть и прописывался URL значения слитно, но, хотя бы можно было разобрать, что написано. А в этой абракадабре ничего не разберёшь. Если в значение вписать и пробел, и знак дюйм, и знак градус, запятую и т.д. (свойств миллионы, и такое сочетание может встретиться), то, что же получится? Еще не понятно зачем при таком структурировании урла там добавили функцию включения индексации этого значения. Как поисковик вот это - "15qux129qux1c38quspshagsp2c86qu" - воспримет? Даже мне, как автору этого значения сразу сложно разобрать, что там написано. А там всего лишь указано - 15"x129"x1,38" шаг 2,86".

URLы страниц товара и категории отлично строятся - скобки пропускает, нет такого, что "пластиковая (ПНД)" строится, как "plastikovaya--pnd-", строит так "plastikovaya-pnd". URL свойства сейчас строит так (ради интереса проверил) - "plastikovayasplbpndrb". Чем так, то лучше бы по два пробела ставил.

Уважаемые разработчики, большая просьба это исправить! Правда, пункт 1.9 - это самое странное обновление!

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #4 OkayCMS » 10.03.2019, 07:05

Balt писал(а):Странное, конечно, решение... По мне, так в версии 2.2 это лучше работало. Хоть и прописывался URL значения слитно, но, хотя бы можно было разобрать, что написано. А в этой абракадабре ничего не разберёшь. Если в значение вписать и пробел, и знак дюйм, и знак градус, запятую и т.д. (свойств миллионы, и такое сочетание может встретиться), то, что же получится? Еще не понятно зачем при таком структурировании урла там добавили функцию включения индексации этого значения. Как поисковик вот это - "15qux129qux1c38quspshagsp2c86qu" - воспримет? Даже мне, как автору этого значения сразу сложно разобрать, что там написано. А там всего лишь указано - 15"x129"x1,38" шаг 2,86".

URLы страниц товара и категории отлично строятся - скобки пропускает, нет такого, что "пластиковая (ПНД)" строится, как "plastikovaya--pnd-", строит так "plastikovaya-pnd". URL свойства сейчас строит так (ради интереса проверил) - "plastikovayasplbpndrb". Чем так, то лучше бы по два пробела ставил.

Уважаемые разработчики, большая просьба это исправить! Правда, пункт 1.9 - это самое странное обновление!

До этого мы часто сталкивались с проблемами, когда Диаметр 1/2 и Диаметр 12 - это было одно и тоже значение как раз таки за счет убирания лишних символов

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 10.03.2019, 08:18

OkayCMS писал(а):До этого мы часто сталкивались с проблемами, когда Диаметр 1/2 и Диаметр 12 - это было одно и тоже значение как раз таки за счет убирания лишних символов

Так ведь можно их не убирать, а менять все такие символы, например, на '-'. И при возникновении нескольких соседних несколько '-' сокращать их до одного.

Останутся проблемы, например, с 1/2 и 1,2. Но наверняка все это решаемо более гибко и другие приемы придумать можно. Надо только захотеть...

Balt
Balt
Репутация: 3
Сообщения: 34
Зарегистрирован: 18.05.2017
С нами: 6 лет 10 месяцев

Сообщение #6 Balt » 16.03.2019, 08:42

Это понятно, что нюансов много - у всех свои потребности, люди продают разные товары с разными характеристиками. Но, 1/2 можно записать как 0,5, в URLе отобразится "05" и сайт ничего не потеряет - суть от этого не поменяется. Мне кажется - такие случаи, когда, например "/" прям реально лучше заменить буквами, очень редки.
Яндекс, например, при запросе артикула "605-348-425" выдаёт: "605-348-425" и его модификации - "605348425", "605 348 425", "605x348x425", выделяя эти цифры, дефисы и букву "x" жирным цветом. Когда ввожу "150600-800-0000, 048847, 071382" вместо "150600-800-0000, LU048847, LU071382", имитируя подстановку букв в фильтрах, Яндекс уже "LU" не выделяет жирным, т.к. не считает "048847" и "LU048847" соответствующими друг другу запросами. Но, не забываем, что в нашем случае, пробел и запятая тоже поменяются на буквы. Поэтому, мне кажется, поисковик с такой структурой URLа может понизить сайт в выдаче, т.к. URL он тоже учитывает.
Для клиента, который пользуется фильтрами, без разницы, что прописано в адресе - 1,2; 12; 1dfr2; 1-2; 1 2 и т.д. А вот поисковикам нет. И в выдаче, при прочих других равных условиях, скорее будет сайт с адресом "https://.../razmer-gusenitsy/12-5-x120-x2-56-shag-2-86-", чем "https://.../razmerspgusenitsy/12c5qux120qux2c56quspshagsp2c86qu". При правильном написании, значения фильтра - "Размер гусеницы" и "12,5"x120"x2,56" шаг 2,86"".
Я привёл конкретно мой случай. Те, кто продаёт одежду, как мне кажется с такой проблемой не столкнутся - размеры там указываются максимум через запятую и размер, например, футболки или кроссовка они не буду указывать "50см*80см*30см"; а вот те, кто связан с запчастями, гаджетами, техникой - это проблема. Здесь встречаются параметры, которые нужно указать с кавычками, скобками, пробелами, дюймами, градусами и т.д.. Конкуренция в этих нишах очень большая и даже лишний символ в URL сказывается на поисковой выдаче.

Евгений M
Евгений M
Возраст: 37
Репутация: 4
Сообщения: 86
Зарегистрирован: 15.12.2018
С нами: 5 лет 3 месяца
Откуда: Киев

Сообщение #7 Евгений » 10.12.2020, 15:58

Может разработчики все же подскажут как хотя бы заменить пробел на дефис, слеш на дефис, а дефис оставить дефисом?
Судя по теме, это многим необходимо.

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #8 OkayCMS » 10.12.2020, 17:53

К сожалению это сильно трудозатратно и легко не делается

Евгений M
Евгений M
Возраст: 37
Репутация: 4
Сообщения: 86
Зарегистрирован: 15.12.2018
С нами: 5 лет 3 месяца
Откуда: Киев

Сообщение #9 Евгений » 10.12.2020, 19:41

Рекомендации с сайта Центр Google Поиска:
Используйте знаки пунктуации в URL. Адрес http://www.example.com/green-dress.html более удобен, чем http://www.example.com/greendress.html. Мы рекомендуем использовать дефисы (-), а не символы подчеркивания (_).
(https://developers.google.com/search/docs/advanced/guidelines/url-structure?hl=ru&visit_id=637432253785023131-2796885466&rd=1)
И раз уж вы на главной странице сайта заявляете:
OKAYCMS - простая система управления интернет-магазином с широкими возможностями. Разработана с учетом требований SEO-специалистов для эффективного продвижения интернет-магазинов в сети.
то неплохо было бы помочь со столь важным изменением.

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #10 makki » 10.12.2020, 19:50

Евгений писал(а):Может разработчики все же подскажут как хотя бы заменить пробел на дефис, слеш на дефис, а дефис оставить дефисом?
Судя по теме, это многим необходимо.
дефис уже используется в сео фильтре для разделения фильтров и значений
site.com/catalog/tehnika-dlya-doma/modulyatsiyamoschnosti-dvespstupeni_desyatspstupenej

Тоже не нравится слитное написание в названиях свойств, брендов.

Предлагаю решение когда в роли разделителя выступает двойное нижнее подчеркивание или двойной дефис

После доработки строка выше будет выглядеть так:
site.com/catalog/tehnika-dlya-doma/modulyatsiya-moschnosti__dve-stupeni_desyat-stupenej

Или соотвественно так
site.com/catalog/tehnika-dlya-doma/modulyatsiya-moschnosti--dve-stupeni_desyat-stupenej

Второй вариант мне больше нравится
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #11 korshunov » 11.12.2020, 05:06

Евгений писал(а):...на главной странице сайта заявляете:
OKAYCMS - простая система управления интернет-магазином с широкими возможностями. Разработана с учетом требований SEO-специалистов для эффективного продвижения интернет-магазинов в сети.

OkayCMS писал(а):К сожалению это сильно трудозатратно и легко не делается

Второе очень слабо стыкуется с первым.

ТС поставил вопрос с технической стороны довольно простой. Заменить в коротеньких текстах один символ на другой - для разработчиков-программистов задача довольно простая. Если же это действительно сильно трудозатратно, то это говорит о том, что работа с URL организована нерационально. По-хорошему весь этот функционал должен быть сконцентрирован в паре функций (например, одной для формирования URL, другой для распознавания) или даже в отдельном классе. А уж используемые разделители точно должны настраиваться, хотя бы заданием переменной в коде, как делается, например, при импорте. Разработчикам стоит поразмышлять над этим.

А пока имеем - проявили знания ООП, систему 3 усложнили неимоверно, накрутили классов на каждый чих, а в результате выполнить простенькую рядовую задачу становится "сильно трудозатратно"...

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #12 zyxer » 11.12.2020, 09:41

korshunov писал(а):ТС поставил вопрос с технической стороны довольно простой. Заменить в коротеньких текстах один символ на другой
Так ответьте на этот простой вопрос )

korshunov писал(а):для разработчиков-программистов задача довольно простая
Простая же задача )

korshunov писал(а):По-хорошему весь этот функционал должен быть сконцентрирован в паре функций (например, одной для формирования URL, другой для распознавания) или даже в отдельном классе
Такой класс имеется Okay/Helpers/FilterHelper.php, но парой функций (но в ООП - Методов) это сложно реализовать. Т.к. эти методы будут делать "всё". Если есть предложение по рефакторингу данного класса, пожалуйста пришлите его измененный вариант, мы рассмотрим.

korshunov писал(а):А пока имеем - проявили знания ООП, систему 3 усложнили неимоверно, накрутили классов на каждый чих
Говорит о не понимании ООП.

korshunov писал(а):а в результате выполнить простенькую рядовую задачу становится "сильно трудозатратно"...
Можете выполнить "Простенькую" задачу. И сильно затруднительно не значит "невозможно".
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #13 korshunov » 11.12.2020, 11:27

Вы совсем не поняли суть.

Скажу более точно:
1. ТС поставил вопрос, который с технической стороны довольно прост - заменить в текстах URL один символ на другой.
2. Поставленый вопрос вполне укладывается в рамки обещанного создателями CMS:
OKAYCMS - простая система управления интернет-магазином с широкими возможностями. Разработана с учетом требований SEO-специалистов для эффективного продвижения интернет-магазинов в сети.
3. Для программистов-разработчиков CMS, которые прекрасно разбираются в ими же созданной системе, такая задача должна быть совсем простой.
4. Весь такой функционал по-хорошему должен быть сконцентрирован в одном-двух местах (функции, классе, настройках) и требуемые изменения должны выполняться легко и просто.
5. Если же это действительно сильно трудозатратно, то это говорит о том, что работа с URL организована нерационально - видимо, функционал настолько беспорядочно разбросан по разным местам, что самим разработчикам сделать простенькое изменение весьма хлопотно.
6. Пока имеем - выполнить простенькую рядовую задачу "сильно трудозатратно"...

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #14 makki » 11.12.2020, 11:43

Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #15 korshunov » 11.12.2020, 13:03

makki писал(а):Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут

В скольких местах требуются изменения?

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #16 OkayCMS » 11.12.2020, 13:10

makki писал(а):Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут
Тут же выше хотят на / поменять вроде.

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #17 makki » 11.12.2020, 13:57

OkayCMS писал(а):
makki писал(а):Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут
Тут же выше хотят на / поменять вроде.
Еще раз перечитал, не увидел такого.

korshunov писал(а):
makki писал(а):Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут

В скольких местах требуются изменения?
4 файла, 10 изменений
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

Евгений M
Евгений M
Возраст: 37
Репутация: 4
Сообщения: 86
Зарегистрирован: 15.12.2018
С нами: 5 лет 3 месяца
Откуда: Киев

Сообщение #18 Евгений » 11.12.2020, 14:05

OkayCMS писал(а):
makki писал(а):Во 2-й версии Okay решил задачу с заменой символа разделителя в url сео фильтра и дефиса вместо пробела в свойствах за 20 минут
Тут же выше хотят на / поменять вроде.
Не на "/" (слеш) а на "-" (дефис)
пробел на дефис, слеш на дефис, а дефис оставить дефисом

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #19 korshunov » 12.12.2020, 06:46

OkayCMS писал(а):Тут же выше хотят на / поменять вроде.

Создателям CMS надо бы смотреть шире. Не по конкретным символам спорить, а создавать возможность пользователю CMS самому легко менять эти символы. Чтоб соответствовало заявленному
OKAYCMS - простая система управления интернет-магазином с широкими возможностями. Разработана с учетом требований SEO-специалистов для эффективного продвижения интернет-магазинов в сети.

SEO-специалистов разных много, и требования у них могут быть РАЗНЫМИ. А текущий фунционал в части URL выглядит так, как будто требования по SEO у всех абсолютно идентичны...

webspilka
webspilka
Репутация: 0
Сообщения: 7
Зарегистрирован: 06.11.2020
С нами: 3 года 4 месяца

Сообщение #20 webspilka » 13.12.2020, 07:43

OkayCMS писал(а):К сожалению это сильно трудозатратно и легко не делается
Когда пытался переносить старый сайт на okayCMS, от переноса пришлось отказаться, потому что SEO консультант сказал что нужно сохранить старые URL, а при таком подходе сохранение старых названий - невозможно ((


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 39 гостей