Если раскручивать RegisterExt приходим к CJSCore::_loadLang, внутри которого php массив транслируется в js-объект через CUtil::PhpToJSObject и регистрирует результат через BX.message, о котором писал Алексей Захаров.
Определённое неудобство может возникнуть из-за того, что обращение к лингвистическим фразам из js должно быть через этот же BX.message. Это функция-массив, то есть обращение одно из двух:
BX.message[ 'ADMIN_SHOW_MODE_ON' ];
BX.message( 'ADMIN_SHOW_MODE_ON' );
>>> я нашел почему у меня была фильтрация не такая как нужно
===
Поделитесь находкой.
>>> дружище, как в моем коде добавить фильтрацию по "Доступное количество"?
=)
Доступное количество в чём хранится?
Если отдельное свойство, укажите название свойства, тип свойства, множественность.
«Фильтрация по количеству» — иногда люди фильтрацией называют одно из двух: Ф1. Отсортировать по доступному количеству (тогда через arSort делаем); Ф2. Отобрать те товары, которые в наличии.
Ф1 (! если имеется в виду стандартное поле доступности к заказу ). Чтобы иметь возможность сортировать по количеству (а именно по полю CATALOG_QUANTITY), нужно чтобы оно или группа CATALOG_* встречалась в фильтре (arFilter) либо в отбираемых полях (arSelect). Тогда можно указывать:
$arSort= [
...
'CATALOG_QUANTITY' => 'DESC'
];
Ф2. Если нужно отобрать только те, которые есть в наличии, то есть их количество больше нуля:
>>> А как посчитать сколько в разделе связанных между собой элементов?
===
Смотря, что считать связанными элементами.
Если связанным считать пару элементов, в которой один из них привязан к другому, то это делается тем кодом, который вы сейчас пробуете.
Если связанными считать пару элементов, взаимно привязанных друг к другу, тогда я бы делал выборку и в цикле — проверку на взаимность.
>>> привязка к элементам
===
Значит должен работать код, который дал Алексей Емельянов
Там скорее всего ошибка в том, что указан ключ "SECTION_CODE", а должен был быть "SECTION_ID"
Возможно в указанном разделе нет таких элементов? Попробуйте без указания раздела
ТОСТЕР-овцы! Вы замечаете, что уже не первый человек промахивается мимо "Комментировать" и публикует ответ автору через новый ответ? Нужно что-то решать уже =)
Включаемые области вполне вариант для вашей задачи (хотя я бы плясал от HL-блоков, ну или ORM).
Напомню, что начиная с определённой версии, компоненты, которые выводят включаемые области поддерживают кастомизацию шаблонов и добавление своих свойств компонентов. То есть можно кастомизировать шаблон включаемой области и через .parameters дополнить свойства своими.
И даже если речь про связь с элементами: дополняем параметры включаемой области в разделе с элементами инфоблока списком элементов из инфоблока (инфоблоков).
На выходе:
- включаемые области отрабатывают рекурсию
- внутри включаемых областей делаете нужный набор виджетов
- параметры включаемых областей расширяемы и дополняемы под задачу
- редактирование параметров включаемых областей удобно как вам, так и менеджерам (на крайний случай можно написать страницу-парсер, который будет отображать список включаемых областей, собранных по всем закоулкам разделов и выводить параметры на редактирование).
cssfish, Подскажите, как вы решаете флоатом или инлайн-блоками момент
«образовавщееся свободное место (из-за ограниченной ширины) равномерно распределялось между ними»
Вячеслав Шевченко:
Каким же образом отображается главное (top) меню, если мы открываем урл, не связанный никак с физической папкой?
Давайте рассмотрим такой сценарий:
1. Создаём отдельный тип меню, например my_catalog.
2. Размещаем в папке /catalog/ файл .my_catalog.menu_ext.php
3. Пользователь переходит по /catalog/kukhni/. Такого раздела физически не существует, компонент идёт в родительскую папку и пытается найти что-нибудь, относящееся к нужному типу меню, там. Натыкается на наш _ext.
4. _ext-же при вызове проверяет, по какому урлу его дёрнули (или проверяет $_GET-переменные — тут уже по ситуации). Ну и дальше дело техники...
Можно и не заводить дополнительный пункт меню, если всё это смешано с основным типом меню. Но как вариант для теста.
lukoie, подскажите: почему вы в формуле используете «8»?
8 часов, 22 дня в месяц выжать из себя невозможно (если речь идёт о почасовой плодотворной работе фрилансером без вреда для здоровья и мозга). В этом и заключалось уточнение от ZERGE. Экономика должна в своих подсчётах основываться на реальность и 4–5 часов в день — вот реальная цифра.
При условии высокой мотивации (разного рода) можно выжать из себя 8–10 часов в день, но не стабильные 5*8 в неделю. Физиологию не обманешь и через неделю–две организм силой возьмёт обратно отдых, который у него отжали.
У меня получается «работать» 8–10 часов в день только если я чередую программирование / дизайн / вёрстку / организационные вопросы / прокачку знаниями. Но чистый фриланс 8 часов в день — никак, увы =(
Пума Тайланд, спасибо за ответ.
>>> одна мадам ведет разработку под битрикс24
===
Как я понимаю, речь про Юлию Бедросову.
Да, брал себе на заметку её сообщения по поводу Битрикс24. Мир CRM мне не очень близок, но видимо нужно сделать туда шаг.
Кстати, Битрикс.юа разослали всем письмо о том, что переоформляются как дочерняя компания американского представительства и открывают офис в Польше.
Так что, кто знает (на счёт развития обычного Битрикса).