Данный код запускаем где нибудь повыше в шаблоне.
|
1 2 3 4 5 6 |
$results = $DB->Query("select * from b_iblock "); $IB_IDS=array(); while ($row = $results->Fetch()) { $IB_IDS[$row['CODE']]=$row['ID']; } |
Сайт использует технические и персональные данные пользователей для получения маркетинговой и статистической информации. Условия обработки персональных данных посетителей можно ознакомиться по ссылке.
В случае Вашего не согласия с этими условиями - просим Вас покинуть данный сайт. Если Вы продолжаете находиться и использовать сайт - Вы автоматически выражаете свое согласие с условиями обработки персональных данных пользователей сайта
Создание сайтов и интернет магазинов на битриксе
Данный код запускаем где нибудь повыше в шаблоне.
|
1 2 3 4 5 6 |
$results = $DB->Query("select * from b_iblock "); $IB_IDS=array(); while ($row = $results->Fetch()) { $IB_IDS[$row['CODE']]=$row['ID']; } |
Иногда не хватает 1 месяца для разработки на демо версии в bitrix. Что делать? Надо сделать перенос данных с 1-й демки на другую.
Подробнее
Используем вот такую функцию для формирования динамического меню второго уровня. Вставляем в Header.php куда нибудь повыше.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function get_menu_arr($SECTION_ID){ global $APPLICATION; $aMenuLinksExt=array(); if(CModule::IncludeModule("iblock")) { $IBLOCK_ID = 1; // указываем инфоблок с элементами //$SECTION_ID = 8; // Каталог нат потолков $arOrder = Array("SORT"=>"DESC"); $arSelect = Array("ID", "NAME", "IBLOCK_ID", "DETAIL_PAGE_URL" ,"CODE"); $arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, 'SECTION_ID'=>$SECTION_ID, "ACTIVE"=>"Y"); $res = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()) // наполняем массив меню пунктами меню { $arFields = $ob->GetFields(); $aMenuLinksExt[] = Array( $arFields['NAME'], '/catalog/'.$arFields['CODE'].'/', Array(), Array(), "" ); } } //$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks); // меню сформировано return $aMenuLinksExt; } |
Для начала смотрим видео. После можно и почитать шпаргалку ниже.
Если кратко- меню второго уровня находится в папке одноименного раздела в файлике .left.menu.php
т.е например подменю каталога, раздела catalog находится в
/catalog/.left.menu.php
Подробнее
парсим bb коды следующей фукнцией. Всегда её можно доработать.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
protected function replaceBBCode($text_post) { $str_search = array( "#\\\n#is", "#\[b\](.+?)\[\/b\]#is", "#\[i\](.+?)\[\/i\]#is", "#\[u\](.+?)\[\/u\]#is", "#\[code\](.+?)\[\/code\]#is", "#\[quote\](.+?)\[\/quote\]#is", "#\[url=(.+?)\](.+?)\[\/url\]#is", "#\[url\](.+?)\[\/url\]#is", "#\[img\](.+?)\[\/img\]#is", "#\[size=(.+?)\](.+?)\[\/size\]#is", "#\[color=(.+?)\](.+?)\[\/color\]#is", "#\[list\](.+?)\[\/list\]#is", "#\[listn](.+?)\[\/listn\]#is", "#\[\*\](.+?)\[\/\*\]#" ); $str_replace = array( "<br />", "<b>\\1</b>", "<i>\\1</i>", "<span style='text-decoration:underline'>\\1</span>", "<code class='code'>\\1</code>", "<table width = '95%'><tr><td>Цитата</td></tr><tr><td class='quote'>\\1</td></tr></table>", "<a href='\\1'>\\2</a>", "<a href='\\1'>\\1</a>", "<img src='\\1' alt = 'Изображение' />", "<span style='font-size:\\1%'>\\2</span>", "<span style='color:\\1'>\\2</span>", "<ul>\\1</ul>", "<ol>\\1</ol>", "<li>\\1</li>" ); return preg_replace($str_search, $str_replace, $text_post); } |
Bitrix и php 7 на 31.10.2017 не полностью совместимы.
Возьмем например модуль forum. Этот модуль нужен для работы социальной сети. И в нем присутсвуют регулярные выражения (preg_replace) с модификатором ‘е’.
/bitrix/modules/forum/install/functions.php
строка 604- function convert.
Применение, засовываем в код text с BB кодами и выводим нормальный Hmtl:
|
1 2 3 4 |
$parser = new textParser(); // создаем экземпляр класса textParser $arAllow = $Forum->ALLOW; // заполняем массив параметров форматирования $arAllow["SMILES"] = "N"; // переопределяем (запрещаем) показ смайликов $text=$parser->convert($text, $arAllow ); |
заходим во внутрь и видим
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$text = preg_replace( array( "#<code(\s+[^>]*>|>)(.+?)</code(\s+[^>]*>|>)#is".BX_UTF_PCRE_MODIFIER, "/\[code([^\]])*\]/is".BX_UTF_PCRE_MODIFIER, "/\[\/code([^\]])*\]/is".BX_UTF_PCRE_MODIFIER, "/(?<=[\001])(([^\002]+))(?=([\002]))/ise".BX_UTF_PCRE_MODIFIER, "/\001/", "/\002/"), array( "[code]\\2[/code]", "\001", "\002", "\$this->pre_convert_code_tag('\\2')", "[code]", "[/code]"), $text); |
Заходим на сайт http://php.net/manual/ru/function.preg-replace.php
Читаем :
Подробнее
Уважаемые программисты! Если вам придется писать соцсеть на bitrix используя модуль социальной сети . То вам надо сделать 2 вещи.
1. Добавить на сайт с помощью комплексного компонента 2 записи и 2 комментария
2. Убить нахрен комплексный компонент и всё что связано с ним.
3. лезем в базу данных и пишем прямые sql запросы для получения данных из соцсети по нужным нам условиям
Подробнее
Такое правило в urlrewrite.php переводит http://site.ru/user/1/
в внутренний вид : http://site.ru/index.php?id_user=1
|
1 2 3 4 5 |
array( "CONDITION" => "#^/user/([0-9]+)/#", "RULE" => "id_user=$1", "PATH" => "/user/index.php", ), |
Для вывода пагинации в bitrix для прямых sql запросов базе данных нам потребуется следующий код.
Подробнее
Далее приведен код рабочего примера для пагинации битрикса в HighloadBlock (хайлоад блоках).
Цены
1500 р/чБолее подробно тут: https://ftask.ru/цены