Вибір читачів
Популярні статті
Для сучасного великого проекту, зазвичай, обов'язково потрібно використовувати чпу для сторінок. Він позитивно впливає на індексацію сайту та видачу у результатах.
ЧПУ – людині зрозумілий урл. Тобто це транслітерована латиницею частина урла. Ми вже розбирали транслітерацію російського алфавіту на пхп. У бітриксі є така функція, вона використовується, наприклад, коли створюється новий елемент або розділ інфоблоку, символьний код елемента або розділу генерується з його назви. Але що робити, якщо елементи вже створені, а коди символів не прописані. Давайте розглянемо рішення для цього випадку:
//генерация символьных кодов в битриксе //https://dev.1c-bitrix.ru/community/webdev/user/30522/blog/6794/ - оригинальная статья if(!CModule::IncludeModule("iblock")) { echo "Error with iblock module!"; die; } $arParams["IBLOCK_ID"] = 28; //id инфоблока $arParams["LIST_CNT"] = 50; //количество элементов для генерации $arParams["TYPE_WORK"] = "element"; // {section | element} указываем для кого генерировать код $arOrder = array("sort" =>"inc",);$arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //ім'я сайту //"CODE" => "", //"CODE" => false); $arTransParams = array(//(максимальна довжина коду,регістр(нижній,верхній,не змінювати), //замінювати пробіл на...,решта символів змінювати на...,видаляти зайві символи заміни) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - не змінити "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace" => true); if($arParams["TYPE_WORK"] == "section")(//для розділів $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); "; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams); $arPropArray = Array("CODE" => $transName); $el = new CIBlockSection; $res = $el->Update($ar_res["ID"], $arPropArray);".$ar_res["NAME"]."is// для форматованого висновку результату генерації while($obElement = $db_elemens->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res["NAME") ]), "ru", $arTransParams);//функція генерації сим. коду з імені $arPropArray = Array("CODE" => $transName."-". готовому коду додаємо "префікс" - "-id" $el = new CIBlockElement; $res = $el->Update($ar_res["ID"], $arPropArray); transName."-".$ar_res["ID"].""; } ?>
" // виводимо результат ) echo "
Запускайте кілька разів пхп-скрипт в окремому файлі або пхп-консолі в адмінці бітрикса, поки не перестануть виходити повідомлення про успішну генерацію символьного коду. У результаті "Символьний код" з'явиться латинська рядок у вигляді відповідного чпу.
Лижі дитячі: lyzhi-detskie
Іграшка LEGO: igrushka-lego
У разі, якщо форматування коду не зазначено в цьому розділі - код слід форматувати відповідно до PSR-2
Коментування коду PHP – його невід'ємна частина!
При коментуванні коду слід використовувати коментарі PHPDoc.
Для однорядкових коментарів, що пояснюють, в коді можна використовувати звичайні коментарі, що починаються з // .
Основне правило іменування змінних - ім'я має бути таким, щоб не був потрібний коментар для пояснення призначення змінної.
В іменах змінних використовуються такі префікси:
$arUserList = array(); $dbRes = CIBlockElement::GetByID($id); $bActive = false;
Імена змінних не повинні починатися з підкреслення.
Глобальні змінні пишуться ВЕЛИКИМИ літерами з поділом слів знаком підкреслення.
Global $USER, $APPLICATION, $AR_MESSAGES.
Використання глобальних змінних допускається лише там, де це необхідно. Використовуйте те, що дає D7 там, де він це дає!
Локальні для скрипта (функції, методу, класу) змінні починаються завжди з маленької літери, слова поділяються капіталізацією першого символу (camelCase).
Це правило поширюється на абревіатури.
Тобто. станція BBC пишеться $bbcStation; $arBbcStations; .
Виняток лише одне - ID записується великими.
Тобто. $sectionID , $arElementIDs .
$ counter = 0; $bElementActive = false; $lastErrorMsg = ""; $ID = $_GET["ID"];
Змінні, що використовуються в конструкціях FOR... FOREACH, можна назвати скорочено, якщо код блоку, в якому вони використовуються, проглядається без прокручування сторінки.
For ($i = 0; $i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$v) ( // ... ) while ($arr = $dbRes->Fetch()) ( // ... )
Імена констант записуються ВЕЛИКИМИ літерами, слова поділяються знаком підкреслення. У зв'язку з глобальною областю видимості константи необхідно передувати коротким префіксом (на ім'я модуля, компонента, шаблону).
Сомвольні коди в бітріксі потрібні для багатьох речей і тому слід дотримуватись одноманітного їх найменування. Символьний код має бути написаний латинськими літерами, без цифр та спецсимволів, і повинен відображати суть інфоблоку, розділу чи елемента.
У зв'язку з глобальною областю видимості функцій їх імена слід розпочинати з короткого префікса (на ім'я модуля, компонента, шаблону).
Загальне для керуючих структур правило – логічний блок коду виділяється відступом.
Якщо блок не вміщується в один екран, робиться відступ щонайменше в дві табуляції. Великий блок коду, що відноситься до одного логічного елемента, повинен відокремлюватися двома і більш порожніми рядками і забезпечуватися відкриває і закриває коментарі, що пояснюють логіку елемента.
Конфіг для плагіна phpfmt.
Стандартний міжнародний символьний код, у якому кожен символ кодується сімома бітами.
Тематика електрозв'язку, основні поняття EN ISO 7 …код ІСО-7 - Стандартний міжнародний символьний код (ІSO 646 1973), у якому кожен символ кодується сімома розрядами. У США версія цього коду називається ASCII. [Е.С.Алексєєв, А.А.Мячов. Англо-російський тлумачний словник з системотехніки ЕОМ. Москва 1993]… …
Код (в ЦВМ)- Код ЦВМ, умовна система знаків для подання інформації в ЦВМ. Кожен До. використовує знаки свого алфавіту. Для більшості К. алфавіти двосимвольні або складаються з букв двосимвольного алфавіту. Фізична форма До. залежить від характеру.
Код авіакомпанії ІАТА- Код авіакомпанії ІАТА 2 або 3 символьний індивідуальний ідентифікатор, наданий авіакомпанії Міжнародною асоціацією повітряного транспорту (ІАТА). Цей код виділяється згідно з резолюцією ІАТА № 762 штаб квартирою асоціації в ... Вікіпедія
Код- I (франц. code, від лат. codex зведення законів) система умовних знаків (символів) для передачі, обробки та зберігання (запам'ятовування) різної інформації. Кінцева послідовність кодових символів називається словом. Число різних символів, … Велика Радянська Енциклопедія
RADIX-50- символьний код, який дозволяє записати в одному 16 бітному слові три символи. Використовувався в основному на мінікомп'ютерах, насамперед, сімейства PDP 11 (СМ ЕОМ), для зберігання імен файлів у файлових системах ОС RT 11 та RSX 11, імен модулів… … Вікіпедія
ESCON- (Enterprise Systems Connection) волоконний канальний інтерфейс, що забезпечує обмін інформацією між сервером IBM zSeries та периферійними пристроями (або іншим сервером). Вперше застосовувався в серверах архіт… Вікіпедія
адреса- Існ., м., упот. часто Морфологія: (ні) чого? адреси, чому? адресою, (бачу) що? адреса, чим? адресою, про що? про адресу; мн. що? адреси, (ні) чого? адрес, чому? адресам, (бачу) що? адреси, чим? адресами, про що? про адреси 1. Чий чи адресу… … Тлумачний словник Дмитрієва
ідентифікатор задачі- Символьний код, що приписується виконуваної чи готової до виконання задачі. [Домарев В.В. Безпека інформаційних технологій. Системний підхід.] Тематики захисту інформації EN task identifier … - Стандартний міжнародний символьний код (ІSO 646 1973), у якому кожен символ кодується сімома розрядами. У США версія цього коду називається ASCII. [Е.С.Алексєєв, А.А.Мячов. Англо-російський тлумачний словник з системотехніки ЕОМ. Москва 1993]… …
Паскаль (мова програмування)- Ця стаття чи розділ потребує переробки. У Паскалі немає модулів, ОВП та інших новомодних віянь. Опис розширень має бути присутнім лише у статтях про відповідність … Вікіпедія
Паскаль (мова)- Pascal Семантика: процедурний Тип виконання: компілятор З'явився в: 1970 р. Автор(и): Ніклаус Вірт Паскаль (англ. Pascal) високорівнева мова програмування загального призначення. Одна з найвідоміших мов програмування, … Вікіпедія
Дата публікації: 12.12.2011
Потрібно днями нагенерувати символьних кодів у розділів та елементів інфоблоку "Каталог меблів" в Бітрікс.
Що таке символьний коду розділі або елементі інфоблоку у Бітрікс?Під символьним кодом елемента (розділу) інфоблоку в Бітрікс розуміється мнемонічний ідентифікатор, який являє собою набір символів (літер та цифр латиниці). Цей мнемонічний ідентифікатор може використовуватись для формування адрес посилань динамічних сторінок на сайті. Наприклад, якщо елемент "Диван Космос" з розділу "М'які меблі" має символьний код "divan-cosmos", то посилання на сайті може мати вигляд - "/catalog/myagkaya-mebel/divan-cosmos"
Робиться махом, основне питання було в тому, яким способом транслітерувати. Перша думка - невже складати якийсь свій спосіб. Відміли відразу. З тієї простої причини, що - адже якось у CMS генеруються ці символьні коди? Ще як генеруються. Значить, є метод! Так, він є.
Є така проста функція, яка чомусь досі не описана в офіційній документації API Бітрікс. (на момент написання цієї статті (грудень 2011р.) у документації згадки не було)
CUtil::translit($str, $lang, $params = array())
Функція транслітерує рядок $strз мови $langз параметрами $params.
Параметри в масиві $params:
У нових версіях ядра (я побачила в 11.5.2) з'явився новий параметр "safe_chars", за промовчанням дорівнює "", а також закоментований "use_google", за промовчанням false.
ПРИКЛАД використання:
"-","replace_other"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); echo $trans; ?>
UPD.У коментарях було поставлене запитання:
"А можна просто куди чого прописати в Бітріксі що б працювала генерувався ЧПУ при імпорті інфоблоків?"
Питання некоректне, і зрозуміти мені його складно. Але як окремий випадок наведу такий приклад -
завдання - генерувати символьні коди товарів при імпорті торгового каталогу з CSV.
"-","replace_other"=>"-");
$trans = Cutil::translit($name,"ru",$arParams);
$arFields["CODE"] = $trans;
) ) ?>
Таким чином, при імпорті з CSV-файлу автоматично генеруватиметься символьний код - трансліт з назви.
Важливий UPD2.
Стали звертатися з питаннями, що трансліт не працює, див. Я вирішила розібратися, але ні на яких своїх поточних і старих проектах проблему відтворити не можу - у мене все ОК. Але в людей немає?
РІШЕННЯ!
Проблема через кодування. Додати в.htaccess: php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
Що робити, якщо це не допомагає?
Ідемо в адмінку на сторінку "перевірка сайту", запускаємо перевірку. Якщо в перевірці так і залишилося повідомлення про неправильне кодування - не засмучуйтеся. Або потрібно звернутися до хостера, щоб він виправив ці налаштування, або забути про штатну функцію трансліту і написати свою. (А також припинити дивуватися всім іншим глюкам через кодування).
Машинописний текст складається з друкованих знаків – графічних символів.
Графічні символи - це символи, що мають у тексті видиме відображення.
Усі графічні символи зібрані у наборі єдиної універсальної системи Юнікод.
Вгамовуємо, що це два різні способи:
вставляти візуальне у візуальне
вставляти код у код.
Шрифт для символу, його розмір і колір HTML можна задати кодом, виду:
КОД_СІМВОЛА
де,
Arial - шрифт,
10px - розмір шрифту в пікселях,
#ff0000 - код кольору шрифту (червоний)
Наприклад:
☎ - розмір шрифту символу 30px,
☎ - розмір шрифту символу 30px, колір - червоний
Мнемоніка (грец.) - Мистецтво запам'ятовувати що-небудь. Мнемотехніка застосовується для полегшення сприйняття інформації, що важко запам'ятовується, коли об'єкт запам'ятовування приводиться в асоціативний стан з чим-небудь.
Символи керування в HTML (XHTML) – це службові символи HTML-мови, які використовуються при HTML-верстці веб-сторінки. Ці символи повинні підтримувати будь-який браузер, оскільки без них неможливе правильне відображення HTML-тексту. Символи керування не відображаються в тексті і, при прямому введенні з клавіатури - інтерпретуються браузером як розділові знаки, що закликають до виконання будь-якої дії при відображенні сторінки на екрані.
Дозволяється використовувати символи управління у звичайних текстах, де вони символізують загальнолюдські поняття та трактуються браузером як звичайні друкарські знаки. У разі використання службових символів у HTML-текстах потрібно вводити не значення самого символу, саме його HTML-код. Бо, повторюю - інакше браузер сприйматиме службовий символ, як заклик до дії і не коректно відображатиме HTML-текст на екрані монітора.
Символи керування та їх HTML-код знають і розуміють всі браузери без винятку, чого не можна сказати, на жаль - про інші знаки, які можуть відображатися некоректно в різних браузерах або, що ще гірше, - не відображатися зовсім.
пропуск довжини N (звичайний пропуск) | |||||
пробіл довжини M (довга пробіл) | |||||
- | м'яке перенесення (недрукований знак) | - | | ||
‑ | дефіс | ‑ |
|||
---|---|---|---|---|---|
- | тире довжини N (звичайне тире) | - | – | ||
— | тире довжини M (довге тире) | — | — | ||
. | крапка | . | |||
, | кома | , | |||
… | багатокрапка | … |
… |
||
: | двокрапка | : | |||
; | крапка з комою | ; | |||
! | знак оклику | ! ǃ |
|||
? | знак запитання | ? | |||
@ | «собачка» | @ | |||
* | «зірочка» | * | |||
# | «решітка» | # | |||
‘ | одиночна верхня ліва лапка | ‘ | ‘ |
||
’ | одиночна верхня права лапка | ’ | ’ |
||
‚ | одиночна нижня права лапка | ‚ | ‚ |
||
“ | подвійна верхня ліва лапка | “ | “ |
||
” | подвійна верхня права лапка | ” | ” |
||
„ | подвійна нижня права лапка | &bdquo | „ |
||
« | подвійна ліва кутова лапка (рус) | « | « | ||
» | подвійна права кутова лапка (рус) | » | » | ||
́ | знак наголосу, приклад: Вася́ | ́ | |||
" | апостроф, приклад: Вас"я | " | |||
´ | акут, приклад: Вася | ´ | ´ | ||
¶ | абзац (недрукований знак) | ¶ | ¶ | ||
§ | параграф | § | § | ||
ˆ | акцент (перевернута пташка) | ˆ | ˆ |
||
˜ | мала тільда | ˜ | ˜ |
||
¦ | вертикальний пунктир | ¦ | ¦ | ||
( | кругла дужка вліво | ( | |||
) | кругла дужка праворуч | ) | |||
〈 | кутова дужка вліво | 〈 | 〈 | ||
〉 | кутова дужка вправо | 〉 | 〉 | ||
‹ | кутова дужка вліво, варіант | ‹ | ‹ | ||
› | кутова дужка вправо, варіант | › | › | ||
[ | квадратна дужка вліво | [ | |||
] | квадратна дужка праворуч | ] | |||
/ | слеш (slash) - символ косої межі | / | |||
\ | зворотний слеш (backslash) | \ | |||
⁄ | коса дробова риса (знак поділу) | ⁄ | ⁄ | ||
ǀ | вертикальна характеристика | ǀ | |||
ǁ | подвійна вертикальна характеристика | ǁ | |||
‾ | накреслення, приклад: Вася‾вася | ‾ | ‾ | ||
¯ | macron, приклад: Вася?вася | ¯ | ¯ |
+ | плюс | + | + | ||
---|---|---|---|---|---|
− | мінус | − | - − |
||
= | одно | = | |||
± | плюс мінус | ± | ± | ||
× | знак множення | × | × | ||
÷ | знак розподілу | ÷ | ÷ | ||
⋅ | оператор «точка» (середина рядка) | ⋅ | · ⋅ |
||
∗ | оператор «зірочка» (середина рядка) | ∗ | ∗ | ||
∼ | оператор «Тільда» | ∼ | ∼ | ||
. | маркер списку (середина рядка) | . | |
||
¹ | верхній індекс "1" | ¹ | ¹ | ||
² | верхній індекс "2" | ² | ² | ||
³ | верхній індекс "3" | ³ | ³ | ||
Надрядковий та підрядковий індекс у HTML (XHTML) можна вставити за допомогою тегів і відповідно: ЧИСЛО Надрядковий індекс→ ЧИСЛО Надрядковий індекс ЧИСЛО Підрядковий індекс→ ЧИСЛО Підрядковий індекс |
|||||
½ | дріб «одна друга» | ½ | ½ | ||
⅓ | дріб «одна третина» | ⅓ | |||
¼ | дріб «одна четверта» | ¼ | ¼ | ||
¾ | дріб «три чверті» | ¾ | ¾ | ||
№ | знак номера | № | |||
% | відсоток | % | |||
‰ | проміле | ‰ | ‰ |
||
° | градуси | ° | ° | ||
′ | штрих (хвилини, фути) | ′ | ′ | ||
″ | подвійний штрих (секунди, дюйми) Приклад 1: 30° 25′ 12″ Приклад 2: 25′ 12 ″ |
″ | ″ | ||
µ | мікро | µ | µ | ||
π | Пі | π | π | ||
ƒ | знак функції (Не плутати з «інтеграл») |
ƒ | ƒ |
||
∫ | інтеграл | ∫ | ∫ | ||
∅ | перекреслений нуль, порожня безліч (Не плутати з «діаметр») |
∅ | ∅ | ||
⌀ | діаметр (не плутати з перекресленою латинською «про») | ⌀ | |||
ø | латинська "o" діагонально перекреслена | ø | ø | ||
Ø | латинська заголовна "O" діагонально перекреслена | Ø | Ø | ||
∏ | знак твору | ∏ | ∏ | ||
∑ | знак підсумовування | ∑ | ∑ | ||
√ | радикал (квадратний корінь або корінь ступеня x) |
√ | √ | ||
∝ | пропорційно | ∝ | ∝ | ||
∞ | нескінченність | ∞ | ∞ | ||
∠ | кут | ∠ | ∠ | ||
⊥ | ортогонально (перпендикулярно) | ⊥ | ⊥ | ||
∴ | знак «відтак» | ∴ | ∴ | ||
≅ | приблизно одно | ≅ | ≅ | ||
≈ | майже одно | ≈ | ≈ | ||
≠ | не дорівнює | ≠ | ≠ | ||
≡ | ідентично | ≡ | ≡ | ||
≤ | менше або дорівнює | ≤ | ≤ | ||
≥ | більше або дорівнює | ≥ | ≥ | ||
∧ | логічне І | ∧ | ∧ | ||
∨ | логічне АБО | ∨ | ∨ | ||
⊕ | знак «плюс у колі» (Пряма сума) |
⊕ | ⊕ | ||
⊗ | знак «множення у колі» (Векторний твір, стріла від спостерігача) |
⊗ | ⊗ | ||
ʘ | точка у колі (Стріла на спостерігача) |
ʘ |
✵ ✵ |
|||||
Статті на тему: | |
Біблія Модулі "Цитати з Біблії" на iOS
Оновлення 4.2 програми Біблія для iPhone, iPad та iPod touch доступне. Windows 10, як перейти в безпечний режим
Користувачі-початківці можуть вперше зіткнутися з таким поняттям, як... Команди bat-файлів. Як створити bat-файл? Базові команди. Windows для чайників: основи роботи з командами bat-файлів
Bat-файли Windows є зручним способом виконання різних завдань. |