Замеры чего вы сделали? Я вот по графикам вижу, что для обоих сайтов время ответа составляет не более 0.5 сек, а вот рендеринг от 1 секунды. Значит нужно копать в сторону верстки - html, css, javascript. Смотреть какие библиотеки подключаете (может не все нужны), как сверстан шаблон (может можно проще)
tech-doctor написал: В настройках новостей слеша не было и в $arUrlRewrite приоритет поменяли.
1) Белый экран от слеша не возникает (если мы говорим когда вообще сайта нет, а просто белый экран, а не белый экран в рабочей области) 2) В urlrewrite.php нельзя править руками, так как любое изменение компонента из публичной части сгенерирует новый urlrewrite.php и ваши изменения потеряются
SELECT
`iblock_element`.`ID` AS `ID`,
`iblock_element_property_list`.`NAME` AS `IBLOCK_ELEMENT_PROPERTY_LIST_NAME`
FR OM `b_iblock_element` `iblock_element`
LEFT JOIN `b_iblock_property` `iblock_element_property_list` ON `iblock_element`.`IBLOCK_ID` = `iblock_element_property_list`.`IBLOCK_ID` AND `iblock_element_property_list`.`FILE_TYPE` IS NULL
WHERE `iblock_element`.`IBLOCK_ID` = 1
Если whereNull заменить на whereNotNull, то получиться:
Код
SELECT
`iblock_element`.`ID` AS `ID`,
`iblock_element_property_list`.`NAME` AS `IBLOCK_ELEMENT_PROPERTY_LIST_NAME`
FR OM `b_iblock_element` `iblock_element`
LEFT JOIN `b_iblock_property` `iblock_element_property_list` ON `iblock_element`.`IBLOCK_ID` = `iblock_element_property_list`.`IBLOCK_ID` AND `iblock_element_property_list`.`FILE_TYPE` IS NOT NULL
WH ERE `iblock_element`.`IBLOCK_ID` = 1
SoFuWa написал: Посмотрел catalog.import.1с, там ни в component.php ни в class.php нет самого алгоритма импорта, интересно где в каком файле сам алгоритм, что бы можно было перехватить к какому разделу привязан элемент и переименовать этот параметр, что бы импортировались в другой раздел, такую врезочку сделать, в своём пространстве имён естественно.
Вы невнимательно изучили строение компонента. Начиная с $NS["STEP"]=4 используется CIBlockCMLImport и происходит наполнение мета-датой, создание разделов, элементов и т.п. Всю логику создания контролирует CIBlockCMLImport, который описан в /bitrix/modules/iblock/classes/general/cml2.php Таким образом, что перекрыть его можно только отнаследовавшись и переопределив в собственном компоненте.
А уже в нем есть ImportElements и тому подобные методы
Вячеслав Горбатов написал: В каком направлении копать, чтобы избавиться от ромбиков?
Копайте в сторону грехов:
Цитата
Вячеслав Горбатов написал: Далее установил с грехом пополам демо-битрикс
1) проверьте в какой кодировке установили сайт? utf-8 2) Проверьте after-connect'ы, там тоже должны быть utf'ы 3) проверьте файлы системы, а так же какая кодировка приходит на странице
Евгений Шутов, берете CSaleBasket::GetList в arFilter прописываете ORDER_ID => false, а в arGroupBy пишете FUSER_ID. Потом по FUSER_ID ищи ID пользователя (если нужно)
Нет. Перед началом работ оптимизации необходимо: 1) Сделать замеры. То есть: сколько такая-то часть системы/процесса, занимает времени и ресурсов. 2) Определить что именно собираешься оптимизировать 3) Оптимизировать именно это.
Например: заходишь на сайт, а но доолго-доолго грузится. Заказчик говорит "нужно быстрее".
Снимаешь характеристики: 1) Время генерации страницы 1 секунда 2) Время парсинга dom-дерева 1 секунда 3) Document-ready - 20 секунд
Получается следующее: ты можешь снизить время генерации страницы (скорость формирования html-кода php-интерпретатором), но в целом сайт быстрее работать не станет (пользователь не особо заметит разницу между 17 и 21 секундой). А вот если смотреть на верстку, javascript, подключаемые библиотеки, inline-css и inline-js и с нимим работать - то можно сократить больше.
Цитата
Егор Лёсин написал: 2. Что мне стоит дополнительно делать, или где смотреть понятную и качественную информацию?
Роман Карась написал: как загрузить файл на диск как AttachedObject?
А зачем вам это делать самому? Смотрите в сторону компонента: bitrix:disk.uf.file - он почти все сделает за вас (загрузку, просмотр, редактирование). Вы будете работать только с ID AttachedObject, а на вывод - вы найдете аналогичные методы у urlmanager'а, но только для attache
Станислав Подгорный, возможно зацепили какой-то скрипт, или случайно что-то стерли. Если зацепили и он работает некорректно, то есть шанс восстановить, если стерли часть данных или ошибка при сохранении то шансов нет - только из бекапа
Роман Карась написал: Если пользователь авторизован - картинка выводится, если не авторизован - отображения картинки нет (, хотя ссылка на картинку в отладчике показывается та-же.
Правильно! Потому что при загрузке на диск, вы ее грузите как на диск, а нужно загружать через AttachedObject. В таком случае для них существует отдельный механизм , который позволяет показывать картинку неавторизированным пользователями. Собственно в данном случае получается некоторая иехрархия AttachedObject ссылается на Disk\File, который в свою очередь ссылается на b_file-запись (которая может через handler ссылаться на object-storage хранилище xD).
Цитата
Роман Карась написал: человекопонятная структура диска.
Человеко-понятной структуры в битриксе не существует, так как она организовывалась не для людей (чтобы было понятно), а для машины (чтобы быстро искалось, не дублировалось и т.п.). Если Вы хотите получить путь к фалу, то вы можете получить его через getFile (или getFileId + CFile::getFileArray()) на объекте диска, но как я уже сказал выше - вам нужно не загружать файл на диск, а создавать attachedObject, потому как в противном случае Вы огребете на общий правах большой геморрой
Никакие - писать свои. Но особое внимание уделите статье Prominado по Grid'ам и UI
Цитата
Роман написал: и насколько это реально или замороченно.
Реально и почти* не заморочено.
* - все зависит от отчета и требований. На правах рекламы xD - https://www.youtube.com/watch?v=ZfBhnNMeEP4 Там есть кое-что о возможностях и отчетах, не с технической точки зрения конечно, но как вариант показать что можно сделать. Вот не знаю по шкале замороченности как это мерить.