Анастасия Панфилова: В целом Илья написал всё верно, но не так подробно, но для реализации нужно уже понимать логику работы битрикс-компонентов.
В комплексном каталоге для получения списка элементов вызывается компонент catalog.section. Фильтрация только активных компонентов идет именно в ядре этого компонента, поэтому нужно его скопировать в свое пространство имен и изменить его внутреннюю логику, чтобы он при фильтрации не отсекал неактивные элементы, а в шаблоне комплексного компонента уже подключить измененный компонент.
Для дополнительной модификации уже подготовленных элементов, которые находятся в $arResult['ITEMS'] используется файл result_modifier.php.
>> нужно сделать выборку элементов с помощью CIBlockElement::GetList
Если делать дополнительную выборку именно в файле result_modifier.php и присоединять ее к той, которую сформировал сам компонент catalog.section, то вы столкнетесь с другими проблемами: как минимум будет некорректный расчет пагинации, если вы ее используете, а также нужно будет в result_modifier.php реализовывать повторную сортировку.
>> первый раз вообще пытаюсь изменить логику
почитайте документацию, в особенности ту часть, где расписана логика работы компонентов, какие файлы где находятся, тогда вам будет понятнее, что и где менять. dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&CHA...
Илья в сообщении ниже правильно упомянул про возможно включенное логирование SQL-запросов.
Кроме того, некоторые разработчики любят логировать все подряд с максимальной подробностью на этапе разработки, а бывает, что и после запуска, а потом за неделю эти логи разрастаются до сотен мегабайт - сталкивался с такими ситуациями на нескольких проектах, которые на техподдержку ко мне пришли.
проверил на своем сайте, битрикс в данном случае здесь не виноват, потому как его urlrewrite подключается для виртуальных адресов, т.е. когда сервер не может найти физических файлов.
Проверил на одном из своих сайтов, у меня заработало как надо с такими изменениями htaccess take.ms/N3WEE:
Николай: вариантов несколько: 1) редирект в htaccess 2) установлен сторонний модуль для битрикса 3) если сайт разрабатывали не вы, возможно, предыдущие разработчики добавляли в код сайта обработку адресов и переадресацию со страниц без слеша на страницы со слешем. 4) редирект в nginx, если он используется в качестве сервера
Значит, все равно что-то мешает вывести все элементы, потому как это обычная задача - вывести в sections.php все товары инфоблока через catalog.section. Скрин или сам файл sections.php можете прикрепить? И попробуйте FILTER_NAME не закомментировать, а подставить в него другое значение, например, arrFakeFilter?
Совершенно согласен, что так делать не стоит ) Сколько уже таких проектов через меня прошло, где вместо использования типовых возможностей в виде result_modifier.php, component_epilog.php и т.п. предыдущие разработчики создавали копии типовых компонентов там, где это совсем было не нужно.
Денис Семенов: вопрос я прочитал, но в свете этого комментария у меня недопонимание ) С одной стороны вы упоминаете git, sass и прочее, а с другой пишете, что редактируете через админку )
Я больше по бэкенду специализируюсь, и для этого у меня есть шторм, git и понимание логики битрикс-компонентов, работа с API битрикса. Если делаю проект в одиночку, то, поскольку не являюсь профессиональным верстальщиком, верстку пишу без использования sass, gulp, и в качестве базы использую подходящий под задачу css-фреймворк, или для простых проектов с нуля верстаю.
Если же над проектом работают несколько человек, в том числе проф. верстальщик, то он делает свою часть работы с компиляцией стилевых файлов в одну папку, а я свою, подключая в шаблоне сайта или в компонентах подготовленные стили. Верстальщик использует свои технологии, упрощающие ему жизнь, а я свои.
>>Просто в шаблоне вот такая штука есть:
<?=CMain::IsHTTPS() ? 'http' : 'https'?>
судя по этому коду, эта конструкция возвращала противоположное значение, т.е. использовалась некорректно и возвращала http, а не https, если сайт работает по защищенному протоколу
UPD не учел, что тостер будет пытаться вставить изображения
при выводе изображений нужно использовать относительные адреса вида /path_to_img/image.png, вместо полного указания пути вместе с протоколом и названием сайта
если для каких-то изображений на сайте у вас указан полный путь, к примеру
нужно оставить относительный
P.S. Я пока не пойму, что это за волшебная кнопка в битриксе может быть, которая вдруг заменит один код на другой...
Если вы об этой статье https://help.sweb.ru/entry/198/, то там написано то же самое, что я писал. А "Управление масштабированием" присутствует, начиная с редакции "Бизнес" (и этот модуль нужно установить, если он доступен), и там эта настройка включения https служит не волшебного перевода на https, а для того, чтобы запретить в принципе работу по http https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
timers: Если сертификат установлен, тогда я не понимаю, в чем вопрос ) Открываете сайт по https и все. Затем нужно проверить, что браузер не выдает ошибок сертификата.
При необходимости, если вдруг на сайте идет подключение внешних js-скриптов или шрифтов (яндекс.карты, метрика, jQuery, шрифты гугл и т.п.) по http, меняете в коде, чтобы они загружались https.
Также при необходимости настраиваете безусловную переадресацию страниц с http на https.
paulvales: если я правильно понял, Александр хотел сказать про внешние группы, так называемый "Экстранет". В рамках экстранета можно создавать отдельные группы, например, по проектам, и в эти группы приглашать внешний пользователей - клиентов. Но эти внешние группы и пользователи доступны не на всех тарифах Битрикс24, а начиная с тарифа Команда за 5+ тыс. руб. в месяц.
Разделы битрикс по умолчанию сортирует сначала по полю Сортировка от меньшего к большему, затем по имени по алфавиту. Вам нужно изменить значения полей Сортировка непосредственно у разделов: take.ms/OoxQj или при просмотре списка разделов в админке take.ms/sWdvj
В API есть функции запроса товаров в корзине текущего покупателя, можно воспользоваться ими для получения стоимости товаров.
Можно также посмотреть в код функции DoSaveOrderBasket или в код компонентов sale.basket.order.ajax (после оформления вызывается событие SALE_NEW_ORDER), sale.basket.basket или аналогичного, в котором идет подсчет стоимости корзины. Но если нужно учитывать выбранную стоимость доставки, еще какие-то условия, которые выполняет DoSaveOrderBasket, тогда проще изменить работу с почтовыми событиями и отправлять их уже после того, как заказ будет полностью оформлен.
P.S. В данном случае битрикс и не должен искать соответствие по артикулу, ведь для него это одно из свойств, и ему нужно знать, какому именно элементу установить это значение, вот он и правильно ругается, что отсутствует уникальный идентификатор, по которому он мог сопоставить данные из csv тем или иным элементам.
В комплексном каталоге для получения списка элементов вызывается компонент catalog.section. Фильтрация только активных компонентов идет именно в ядре этого компонента, поэтому нужно его скопировать в свое пространство имен и изменить его внутреннюю логику, чтобы он при фильтрации не отсекал неактивные элементы, а в шаблоне комплексного компонента уже подключить измененный компонент.
Для дополнительной модификации уже подготовленных элементов, которые находятся в $arResult['ITEMS'] используется файл result_modifier.php.
>> нужно сделать выборку элементов с помощью CIBlockElement::GetList
Если делать дополнительную выборку именно в файле result_modifier.php и присоединять ее к той, которую сформировал сам компонент catalog.section, то вы столкнетесь с другими проблемами: как минимум будет некорректный расчет пагинации, если вы ее используете, а также нужно будет в result_modifier.php реализовывать повторную сортировку.
>> первый раз вообще пытаюсь изменить логику
почитайте документацию, в особенности ту часть, где расписана логика работы компонентов, какие файлы где находятся, тогда вам будет понятнее, что и где менять.
dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&CHA...