bitrix транслитерация символьного кода
Методы для проверки и генерации символьных кодов
Перечень методов, их параметры вызова и тип возвращаемого результата идентичны для классов CIBlockElement и CIBlockSection.
Методы работают, только если в настройках инфоблока включена опция Транслитерировать из названия при добавлении элемента для поля Символьный код (класс CIBlockElement) и Транслитерировать из названия при добавлении раздела для поля Символьный код раздела (класс CIBlockSection)
Язык, с которого осуществляется транслитерация, выбирается из настроек сайта, к которому привязан инфоблок. Может быть переопределен в момент использования. Если сайты, к которым привязан инфоблок, имеют различные языки, то язык транслитерации ОБЯЗАТЕЛЬНО необходимо указать при вызове методов.
Метод | Описание | С версии |
---|---|---|
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Настройка ЧПУ для умного фильтра 1С Битрикс
Давайте рассмотрим одну из часто-встречающихся задач при создании интернет-магазина на 1С Битрикс, а именно настройку ЧПУ адресов каталога и умного фильтра. Дело в том, что по умолчанию каталог и фильтр работают без ЧПУ используя параметры передаваемые в адресной строке браузера (GET параметры) и URL адреса страницы выглядят трудно-читаемыми и не запоминающимися.
Для чего нужен ЧПУ
Термин ЧПУ в веб-разработке, означает ЧеловекоПонятный Урл, от английского friendly url (дружелюбный урл). Обычно он представляет собой краткий, хорошо читаемый адрес страницы, обычно транслитерированное (т.е. написанное на «латинице») слово или словосочетание, которое легко запомнить человеку. Кроме того, такой адрес отражает значение или содержимое страницы, например так:
Как видите такой URL легко воспринять и даже запомнить. Но для чего ещё нужно внедрять ЧПУ? Дело в том, что наличие ЧПУ адресов, не только страниц, но и различных ресурсов (картинок, видео) является требованием поисковых систем Яндекс, Google и д.р. Это своего рода один из показателей качества вашего сайта. Такие страницы быстрее проходят индексирование и попадают в поисковую выдачу.
Настройка адресов для инфоблока
В первую очередь нам необходимо перейти в настройки информационного блока каталога (или другого если речь не идёт о ЧПУ для каталога и фильтра) на вкладке «Инфоблок» есть 3 свойства, задающие своего рода шаблон на основе которого система построит URL адрес страницы:
Эти шаблоны — первая часть настройки ЧПУ, далее следует позаботиться о наличие читаемого кода для свойств инфоблока и их значений. Для этого перейдём на вкладку «Свойства» и рассмотрим несколько представленных в каталоге свойств, материал и цвет:
Каждое свойство инфоблока имеет параметр «Код», это мнемонический код свойства, тот самый который будет позже поставлен в URL адрес, когда мы захотим отфильтровать каталог по этому свойству. И чтобы получившийся в итоге ЧПУ отвечал критериям «понятности», код свойства должен быть читаемым и понятным для человека, в данном случае «материал» и «цвет».
Так же не стоит забывать, что для свойств типа «список» можно настроить понятный код значения свойства.
В данном случае, в качестве кода значения свойства, выступает атрибут XML_ID именно его система подставит в URL адрес, когда мы захотим отфильтровать каталог одежды по свойству «цвет». Если, оставить эти поля пустыми, при сохранении настроек информационного блока, битрикс сгенерирует длинную хеш-строку и подставит её в качестве XML_ID
В данном примере вся строка XML_ID розового цвета выглядит так: 4ed329daf7a1bd6ec22074f850e50be1 — не очень читабельно, не так ли? К сожалению 1С Битрикс не имеет штатного функционала позволяющего автоматически транслитерировать значения свойств и читаемый XML_ID.
Автоматическая транслитерация XML_ID
Чтобы не переводить название цветов вручную каждый раз когда мы добавляем вариант значения свойства цвет, можно подвесить свой обработчик на событие обновления этого свойства. В моём случае свойство цвет является «списком» поэтому нам следует выбрать обработчик OnBeforeIBlockPropertyUpdate (ссылка на документацию). Т.е. при обновлении нам нужно перебрать значения списка, выбрать те у которых не заполнен XML_ID (чтобы не затронуть XML_ID которые возможно были заданы вручную), затем транлитерировать значение списка (название цветов на русском языке) и записать в XML_ID значения. Поехали:
Этот код необходимо добавить в файл init.php. Теперь если заполнить значения цветов и не указать XML_ID вот так:
И сохранить настройки свойства а затем и инфоблока, отработает наше событие и недостающие XML_ID будут заполнены согласно нашему обработчику.
Подобным образом вы можете обработать другие типы свойств.
Настройка компонента
Перейдём к настройке компонента «Каталог товаров». Проще всего сделать это из публичной части перейдя в режим правки. В окне настроек компонента находим блок «Управление адресами страниц» и задаём следующие настройки:
Заключение
На самом деле стандартные страницы фильтра можно значительно улучшить с точки зрения SEO оптимизации, например вывести уникальные мета-данные страницы для каждого урла, задать уникальный заголовок h1, вывести SEO тексты. Чтобы внедрить все эти фишки, читайте другую статью по тонкой настройке фильтра.
Bitrix транслитерация символьного кода
Современные сайты наполняются содержанием с помощью специального программного обеспечения: CMS.
Для кого этот курс?
Курс Контент-менеджер адресован тем, кто работает с содержанием сайта: наполнение, изменение текста, загрузка и размещение картинок и так далее.
У нас часто спрашивают, сколько нужно заплатить
Но у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Практика и тесты
При изучении курса рекомендуется повторять описываемые действия на демонстрационной версии сайта, установленной локально или в Виртуальной лаборатории.
После изучения курса пройдите тесты на сертификацию. При успешной сдаче последовательности тестов со страницы Моё обучение скачайте сертификат об успешном прохождении курса в формате PDF.
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 2 дня (16 академических часов).
Если нет интернета
Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
Как проходить учебный курс?
Символьный код из названия элемента
Подскажите пож-та как можно сделать чтобы символьный код автоматически брался из навания элемента.
Скачал последнюю демо версию в ней это уже реализовано достаточно просто активировать линк. На сайте установлена более старая версия и этого линка нет.
Возможно достаточно добавить часть кода на сайт чтобы добавить это функционал. Подскажите где копать?
Правильно понимаю, что после добавления все символьные коды при сохранении нового элемента или редактирования сторого буду перезаписаны по этому алгоритму,
но как быть если некторые уже прописаны руками и нежелательно их менять
Добавить проверку, заполнен ли символьный код
сделать что то типа
if (strlen($arFields[«NAME»])>0 && strlen($arFields[«CODE»])
Цитата |
---|
Сергей Нифантов пишет: if (strlen($arFields[«NAME»])>0 && strlen($arFields[«CODE»]) |
У меня не работает этот код.
У меня на сайте имеются новости статьи и так далее.
Мне нужно сделать запрос к БД выдернуть от туда имена статей, новостей проверял есть ли у них символьный код, а если нету то брал из имени файла, сделал транслит в символьный код и записал в базу.
Выше приведённый пример не работает. Как были новости с двумя слэшами так и остались.то есть ссылка вида «мой_сайт/about/news/символьный _код_не_появился/
Идем в админку на страницу «проверка сайта», запускаем проверку. Что там?
Есть ли сообщение о неверной кодировке?
Идем в админку на страницу «проверка сайта», запускаем проверку. Что там?
Есть ли сообщение о неверной кодировке?
Кодировка базы данных
подробнее
Сравнение для базы (utf8_general_ci) отличается от сравнения для соединения (utf8_unicode_ci). Исправить
вот выше это выдало
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
Цитата |
---|
RAPOS пишет: Мне нужно сделать запрос к БД выдернуть от туда имена статей, новостей проверял есть ли у них символьный код, а если нету то брал из имени файла, сделал транслит в символьный код и записал в базу. |
Выше приведённый пример не работает.
в админке появились символьные коды?
показывайте скрипт, которым генерите коды.
потом отскриньте настройки урлов инфблока новостей и тоже в студию.
потом, еще и настройки компонентов, которые у вас формируют новости (та, где прописываются настройки урлов)
4 предположения, проверяйте по очереди.
Подскажите, пожалуйста, как настроить генерацию ЧПУ из заголовков новостей в 1С-Битрикс: Управление сайтом 7.0.6
Сейчас ссылки на новости имеют вид: site.com/en/news/n123, где 123 это ID новости. Необходимо получить ссылки вида: site.com/en/news/zagolovok_novosti
В админке Рабочий стол>Настройки>Настройки продукта>Обработка адресов нашел правило по которому генерируются ссылки новостей:
Еще в админке Рабочий стол>Контент>Информ. блоки>Типы информ. блоков>Новости нашел параметр «URL страницы детального просмотра» со значением #SITE_DIR#news/n#ID#
50уе за Транслитерация и перевод имени страницы»
Я видел ваше письмо, но извините, сейчас отвечать вам нет времени, у нас релиз Корпортала 9.5.
Да и ваше письмо не на короткое «да» или «нет».
Но вы уже перепостили себя везде. Может не стоит так поступать?
Цитата |
---|
Sergey Rizhikov пишет: Игорь, а почему бы вам не написать во всех темах и во всех форумах? Ну правда. |
Я видел ваше письмо, но извините, сейчас отвечать вам нет времени, у нас релиз Корпортала 9.5.
Да и ваше письмо не на короткое «да» или «нет».
Но вы уже перепостили себя везде. Может не стоит так поступать?
Сергей, я сам руководитель и понимаю ваши проблемы.
У вас сложилось искажённое мнение обо мне,я не собирался запостить в каждой теме, сначала я выложил свой «крик» в блоге Гавришовой Юлии, а потом выяснил, что есть блог и руководителя. Каюсь, был неправ, но в теме Юлии со мной начали общаться по очереди ваши сотрудники, правда потом забанили вход в комментарии, но спасибо, хоть сообщили, что я могу завести тему на форуме. Так я оказался здесь.
Цитата |
---|
Игорь Талько пишет: |
Сам Битрикс денег брать не хочет.
Вот моё письмо адресованное admin@1c-bitrix.ru
с текстом :
Здравствуйте.
Давайте будем искать какие то компромисы.
Нам необходимо обновление где будет автоматическая генерации символьного
кода в транслите,
пускай это будет отдельным блоком или откройте возможность обновиться там
напр. до 01.09.10. и я
готов заплатить вам, скажем 50 уе.
Вы получите деньги за работу и мне не надо будет искать того, кто бы сделал
эту работу.
И волки сыты и овцы целы.
Игорь. У здания (бизнес-центр, например) есть срок годности постройки. Грубо говоря, если вы за 2 года не успеете построить полностью, то начнут гнить нижние этажи. Утрировано очень.
Что до сравнения цен Москвы и Немосквы. Хм. то есть, если я, живя в Москве, хочу урвать халяву, мне надо будет автостопом проехать до ближайшего захолустья и оттуда купить Битрикс?
Цитата |
---|
Дмитрий Якинцев пишет: Битрикс купить дешевле не получится (лицензия), но сайт на нём в регионах заказать ведь можно в разы дешевле, чем в Москве, и качество может лучше оказаться |
50 баксов это конечно не та сумма, за которую профессиональные организации берутся за подобную работу, но фрилансера найти можно попробовать на соответствующих сайтах.
Цитата |
---|
Антон Долганин пишет: Игорь. У здания (бизнес-центр, например) есть срок годности постройки. Грубо говоря, если вы за 2 года не успеете построить полностью, то начнут гнить нижние этажи. Утрировано очень. |
Возможно вы и правы, но я уверен, что большая половины покупателей «Управление сайтом» первые 4 месяца только смотрят на красивую коробочку. Просто я не хочу ввязываться в полемику по данному моменту. Я в самом первом сообщении в блог г-жи Юлии Гавришовой писал, что сайт был приобретён мною первым в городе, и боюсь, что пока единственным. И теперь скажите, сколько на тот момент было специалистов, которые в мгновенье (до 4 мес.) мог запустить в полноценную работу сайт? Это сейчас я посмотрел в список партнёров Битрикса по Житомиру и обнаружил аж 4 специалиста. Только вот поинтересуйтесь у них, они то хоть в глаза видели что то более чем демка Битрикса. Но наверное Битриксу виднее кому давать партнёрские права и за какие заслуги. Думаю, что я больше сейчас знаю о Битриксе чем такие партнёры. Но это проблема Битрикса и отдельная тема.
Цитата |
---|
Что до сравнения цен Москвы и Немосквы. Хм. то есть, если я, живя в Москве, хочу урвать халяву, мне надо будет автостопом проехать до ближайшего захолустья и оттуда купить Битрикс? |
http://dev.1c-bitrix.ru/community/webdev/user/23706/blog/2174/
Вот мой пример генерации символьного кода с помощью гугль переводчика.
Доработать его чтобы он генерил транслит нет никаких проблем.
Не надо писать всем и вся, нужно просто хорошо поискать.
Откуда такая информация?
Так вам это проще проверить. Запросите данные о продаже в регион у вашего представителя в Украине, или посмотрите у себя, такая компания должна вести статистику продаж в регионы и страны.
Если вам поможет так я приобрёл коробку 27.02.09., хост купил в мае и активировал тогда же.
Почему я о Битриксе знаю больше, чем так называемые партнёры в нашем городе?
Так я ответил в том же посте ниже. Я на нём работаю, как пользователь, а вот видели ли они его, кроме как на картинке, сомневаюсь.
Понимаете, я уже устал ввязываться в полемику на вопросы, которые абсолютно не касаются сути проблемы, по которой я обратился в Битрикс.
Я просил на возможность возобновления льготного продления техподдержки, учитывая обстоятельства чего угодно для вас, моей тупости, непонимания предоставленной возможности продлится в положенное время и упустившей возможности.Понять и учесть пожелания клиента, найти возможность решить проблему, будь то продлением возможности льготной поддержки с оплатой или усечённой возможностью на какой то период или до какого то периода. Понимаете? Ведь я не просил даром, я просил о продлении срока возможности оплатить и продлить льготную поддержку, учитывая все обстоятельства.
А уже потом пошли варианты.