На страницах и в списках тегов отсутствует "blockquote".
|
dion_86, еще в Linux Mint (и в Ubuntu), по-умолчанию, /bin/sh ссылается на dash, а не на bash, как в BitrixVM.
dash - это быстрый, но упрощенный шелл, который не поддерживает некоторые команды bash (), да еще и SIGTERM по другому работает (). Проблемы могут быть со скриптами, в которых используются возможности bash, хотя в шебанге у них прописан #!/bin/sh. |
|
|
|
|
|
Денис Диденко, еще под Ubuntu сходу не зажглась галка "Сохранение сессий без UserAgent" в bitrix_server_test.php.
Написано, что это 'Необходимо для апплета множественной загрузки файлов и обмена с 1С'. Сразу не стал разбираться, а потом - уже ВitrixVM докачался. |
|
|
|
|
|
dion_86, в Linux Mint пакетным менеджером является APT (apt-get), а не RPM (к которому bitrix-env обращается через yum).
Так что ставите все через apt-get install (php, apache, nginx, mysql и прочее), настраиваете так, чтобы проходил , а потом уже ставите ваш Битрикс. , что на полную настройку тратится не менее 200 часов ![]() |
|
|
|
|
|
Алексей Вдовин, в таком случае Вам придется установить для этих пользователей квоты на расход памяти, CPU, io ...
Ведь если на одном из сайтов будет нагрузка, то и другие начнут тормозить. Не говоря уже о возможности запустить из шелла какой-нибудь cpuburn По-моему, вместо этого надежнее каждый сайт держать в отдельной VM. |
|
|
|
|
|
|||
|
|
|
|
Роберт Исхакович, спасибо за ваше спасибо
![]() Пусть документация станет точной, лаконичной и привлекательной для читателей ответов! ![]() |
|
|
|
|
|
Помучаю еще с этой страницей:
- пусть и вторую скобочку поставят, раз с первой разобрались; - ссылка в тексте должна вести на (сейчас ведет на "Добавление закладки в социальную сеть"); - И по поводу установки обработчика. Обратите внимание, что упомянутый Вами код привязки представляет собой обобщенный вызов:
Если бы функция-обработчик в примере была названа "MyHandler()", то как догадаться, что нужно обратить свое внимание на событие OnAfterTicketAdd модуля support и написать код привязки?:
|
|||||
|
|
|
|
Александр, для этого используется фишка, которая имеет даже свое название: wildcard subdomain.
Посмотрите, например, ответ на вопрос |
|
|
|
|
|
На странице :
- Нужно разделить код около строки "component_epilog.php такого". На странице (первый пример): - В строке "Вынести компонент section.edit" должно быть "Вынести компонент photogallery.section.edit". - Нужно разделить код около строки "Файл result_modifier.php". - Там же, после строки "А также создайте result_modifier.php, где разместите такой код", не отображается часть примера - нужно заменить < и > на < и > в коде. - Еще в примере отсутствует код установки обработчика:
- ID нужного инфоблока не 68, а 10 (по крайней мере, в БУС Бизнес 14.0.6). - Можно дополнить пример замечанием, что если использовать более специфичное событие, то отпадает необходимость в скрытом input'е (PHOTOALBUM_PUBLIC_EDIT) и дополнительной проверке в коде обработчика:
Можно также добавить, что в данном компоненте пользовательские поля уже загружены в $arResult['SECTION']['USER_FIELDS'], поэтому здесь можно обойтись без result_modifier.php, и в шаблоне использовать примерно такой код:
|
|||||||
|
|
|
|
На странице :
- Отсутсвие "class" и лишние "extends" в строках
- В коде примеров не все < и > переведены в < и >. Из-за этого в двух местах код примеров не отображается (после "в квадрате равно" и после "в квадрате взятое дважды равно") . - Слово "декоратор" нужно убрать, так как пример не имеет отношения к шаблону проектирования "Декоратор". В примере - обычное наследование и переопределение метода. |
|||
|
|
|
|
|||
|
|
|
|
Протестировал - в обоих случаях где указывается "мнемонический или символьный" в можно использовать и CODE, и ID.
Как для PROPERTY_<PROPERTY_CODE>.<FIELD>:
$db_list = CIBlockSection::GetMixedList(array('PROPERTY_85.ID'=>'ASC'), $arFilter, true, array("ID", "NAME", "CODE"));
$db_list = CIBlockSection::GetMixedList(array('PROPERTY_85.PROPERTY_22'=>'desc'), $arFilter, true, array("ID", "NAME", "CODE")); |
|
|
|
|
|
|||
|
|
|
|
Нашел маленький недочет в . Вместо:
А то сервер возвращает charset=UTF-8, если она по-умолчанию, как в BitrixVM. |
|||||
|
|
|
|
Значит словосочетание "мнемонический или символьный" - это ошибка. А запись в должна быть:
Кстати, заметил что, у ID является символьным (String(50)), в отличие от других сущностей, у которых ID - числовой (Int). Хорошо, что у типов инфоблоков нет поля CODE :))) |
|
|
|
|
|
Иногда в документации API противопоставляются понятия "мнемонический" и "символьный".
Например, на :
Или в данном случае "символьный код" означает "ID"? (Слово "мнемонический" вроде как ?) |
|
|
|
|
|
Если перейти на страницу несуществующего курса или урока, например,
то текущий шаблон выдает страницу с текстом "Курс не найден или доступ к нему запрещен", но с кодом 200. Имеет смысл добавить в шаблон пару строк так, чтобы он выдавал эту страницу с кодом 404: CHTTP::SetStatus("404 Not Found"); @define("ERROR_404","Y"); Это упростит написание валидатора ссылок для ваших программистов. P.S.: Правильно ли я понимаю, что установка @define("ERROR_404","Y"); заставляет шаблон прилепить к странице скрытую форму для автоматического сбора статистики битых ссылок? Или это мои фантазии и оно просто карту прилепляет? |
|
|
|
|
|
На странице хорошо бы добавить ссылки на основные функции, в которых можно использовать такую фильтрацию.
Например, на , , и т.п. Хотя бы на одну из них (например, ) ссылка нужна обязательно. Потому, что там описано, для каких полей какой тип фильтрации используется. Также стоит добавить в курс ссылки на страницы API, описывающие типы фильтров: или ссылку на весь раздел предварительно добавив в него несколько слов о том, что это, где используется, чем различаются типы фильтров "строка" и "маска" (заострить внимание на ссылки в описаниях параметра arFilter), а также то, что для некоторых полей реализован упрощенный тип фильтрации, в котором можно использовать только символ отрицания '!'. Кстати, эти страницы типов фильтров (и ссылки на них) лучше переименовать в 'Фильтр "Число"', 'Фильтр "Строка"', 'Фильтр "Маска"' и 'Фильтр "Дата"', чтобы не путаться с обычными типами данных. Сейчас, например, запись 'ID - по числовому коду ();' в описании функции , на мой взгляд, мало информативна. Ведь то, что ID - это число, я уже знаю, и совсем не предполагаю, что по предложенной ссылке есть дополнительная полезная информация. А если будет написано 'ID - по числовому коду ();', то я сразу стану внимательнее относиться к таким ссылкам. Ведь, в частности, именно они указывают разницу, когда применяется тип фильтрации "Строка", а когда - "Маска". Дополнительно задам еще пару вопросов: 1. Работают ли типы фильтрации в функциях, в описании которых это явно не описано, например, в или в ? (Это я к тому, что вдруг они работают, а в описании таких функций об этом просто забыли написать.) (Еще опечатка: на дважды указано поле ID в описании параметра arFilter). 2. Правильно ли я понимаю, что для значений пользовательских свойств типа DateTime ни в одной функции не используется фильтр "Дата", а вместо него применяется только поиск по шаблону [%_] ? P.S.: Подсказка по предыдущему посту - строку
Кстати, этот злосчастный пример остался еще и в API - на странице описания функции . --- Добавлено: И еще по фильтрации: В документации классов модулей "Интернет-магазин" и "Торговый каталог" (например, ) типы фильтрации '!' и '+' названы "модификаторами", а остальные ('>=', '>', '<=', '<', '~', '@', '%') - "операторами". Может имеет смысл использовать такую же нотацию и на ? Наверное, стоит упомянуть в курсе операторы '~', '@' и модификатор '+'. Интересно, они специфичны для этих двух модулей, или встроены в ядро? (Например, для оператор '~' отсутствует в описании параметра arFilter, но работает, как указано в примере и комментарии.) Интересно также знать, работает ли оператор '?' для классов модулей "Интернет-магазин" и "Торговый каталог"? (В API на эти модули он не упомянут.) А также, отличается ли логика работы оператора '%' в модулях "Интернет-магазин" и "Торговый каталог" от прочих? Ведь в документации на эти модули указано, что для этого оператора "значение поля проверяется на соответствие передаваемой в фильтр строке в соответствии с языком запросов" (я так понимаю в SQL текущей базы данных?), в то время как в общем описании инфоблоков - действие зависит от типа значения (для чисел и дат - проверка на точное совпадение значения, для строк и масок - это регистронезависимый поиск подстроки). |
|
|
|
|
|
Теперь стало так:
$arFilter = array("!PROPERTY_CML2_SCAN_CODE"=>false ) - используется, чтобы выбрать только элементы с заполненным свойством; $arFilter = array("!PROPERTY_CML2_SCAN_CODE"=>false ) - используется, чтобы выбрать все элементы; Выражения слева от '-' равны, а справа - нет. Это - Пятницо :) )) |
|
|
|
|