И данный механизм это гарантирует, да. Потому что скрипты могут запрашиваться разными модулями, которые, как на зло, эту самую страницу составляют.
А возможно человек знает как сделать это же самое быстрее и качественнее нежели там ? --- Добавлено --- И кстате это не принципиально при индексации гуглом
По скорости разницы нет, а по качеству твой пример проигрывает в плане работы. Единственный его плюс - он тешит твое субъективное чувство прекрасного. --- Добавлено --- Сайты для людей делаются, а не для гугла. Я особенно остро понял проблему тотального пофигизма разработчиков, когда, прошлым летом, съездил на родину свою, на крайнй север. Где о 3G только слухи ходят, 4G считается мифом, и вообще, спасибо, что edge есть и с отключенными картинками чот там грузит. И вот лазаешь по сайтам и сразу видишь, кому насрать на пользователя, а кому нет.
Кстати о птичках https://krankin.ru/full-catalog/chugunnye-vanny/chugunnaya-vanna-roca-malibu-2333g0000-170kh70/ на глянь сайт на битриксе купленый шаблон под битрикс у аспро они вродь партнёры их. И скрипты там сверху.
Есть такой момент, когда разработчик понимает, что конечному пользователю плевать, какие там у тебя под капотом супер мудреные иерархии с разбиениями "один класс - один метод" тупо вот ради наполнения дерева каталогов. Что конечному пользователю плевать, сколько паттернов ты сегодня вкрутил, а сколько планируешь. Конечному пользователю даже плевать, сколько стандартов ты соблюдаешь и как именуешь переменные. Конечному пользователю не плевать только на дискомфорт в работе с конечным продуктом. И если в какой-то момент причиной дискомфорта становится твое субъективнейшее чувство прекрасного, надо уметь его перебороть. Пользователь важнее.
так вот подключение скриптов через php это твоё субъективно чувство прекрасного и ещё не многих людей. Потому как 95 % нравятся скрипты самим подрубать тогда и как им вздумается.
Ды пофигу мне, как там, что и где. Суть не в битриксе и не в этом сайте. Суть в том, что нельзя агриться на что-то тупо потому, что раньше не встречал подобных практик. Так можно стать старпером брюзжащим еще в молодости.
А там это отдано на откуп администратора сайта - все на уровне галок: объеденить, минимизировать, перенести в конец, отдельно css и js. Такое на проектах часто встречается. то ошибки в скриптах не исправляют, то работу кеширования не понимают.... В общем шаблон от аспро совсем не показатель. Да и партнером стать не сложно.
Нет, это реализация потребности. Механизм этот не в две строки пишется, от праздного нехрен делать я б не стал и браться за него.
@Fell-x27 как знаешь все мои сайты которые поддерживаются сейчас мной, не приносят дискомфорта никому!)
Да я с тобой согласен нельзя. Но ты код битрикса смотрел? А доку читал? А вот попробуй теперьсвой компонент напиши и потом скажи что это хорошая практика кодирования! Я тогда разочаруюсь в тебе!
нет это скорее я защищаюсь от твоих нападок в мой адрес. я знаю что ты выше написал: --- Добавлено --- то что там это можно не факт что нужно. --- Добавлено --- Вот честно скажите кто нибудь хоть раз бы додумался рендерить html компонент с такой кучей параметров написаных в ручную Это реально надо писать в ручную: PHP: <?$APPLICATION->IncludeComponent( "bitrix:catalog.section", $template, Array( "SEF_URL_TEMPLATES" => $arParams["SEF_URL_TEMPLATES"], "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], "AJAX_REQUEST" => $isAjax, "ELEMENT_SORT_FIELD" => $sort, "ELEMENT_SORT_ORDER" => $sort_order, "ELEMENT_SORT_FIELD2" => $arParams["ELEMENT_SORT_FIELD2"], "ELEMENT_SORT_ORDER2" => $arParams["ELEMENT_SORT_ORDER2"], "FILTER_NAME" => $arParams["FILTER_NAME"], "INCLUDE_SUBSECTIONS" => $arParams["INCLUDE_SUBSECTIONS"], "PAGE_ELEMENT_COUNT" => $show, "LINE_ELEMENT_COUNT" => $arParams["LINE_ELEMENT_COUNT"], "DISPLAY_TYPE" => $display, "TYPE_SKU" => $TEMPLATE_OPTIONS["TYPE_SKU"]["CURRENT_VALUE"], "PROPERTY_CODE" => $arParams["LIST_PROPERTY_CODE"], "OFFERS_FIELD_CODE" => $arParams["LIST_OFFERS_FIELD_CODE"], "OFFERS_PROPERTY_CODE" => $arParams["LIST_OFFERS_PROPERTY_CODE"], "OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"], "OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"], "OFFERS_SORT_FIELD2" => $arParams["OFFERS_SORT_FIELD2"], "OFFERS_SORT_ORDER2" => $arParams["OFFERS_SORT_ORDER2"], 'OFFER_TREE_PROPS' => $arParams['OFFER_TREE_PROPS'], "OFFERS_LIMIT" => $arParams["LIST_OFFERS_LIMIT"], "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"], "DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"], "BASKET_URL" => $arParams["BASKET_URL"], "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"], "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], "PRODUCT_QUANTITY_VARIABLE" => "quantity", "PRODUCT_PROPS_VARIABLE" => "prop", "SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"], "SET_LAST_MODIFIED" => $arParams["SET_LAST_MODIFIED"], "AJAX_MODE" => $arParams["AJAX_MODE"], "AJAX_OPTION_JUMP" => $arParams["AJAX_OPTION_JUMP"], "AJAX_OPTION_STYLE" => $arParams["AJAX_OPTION_STYLE"], "AJAX_OPTION_HISTORY" => $arParams["AJAX_OPTION_HISTORY"], "CACHE_TYPE" =>$arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "CACHE_FILTER" => "Y", "META_KEYWORDS" => $arParams["LIST_META_KEYWORDS"], "META_DESCRIPTION" => $arParams["LIST_META_DESCRIPTION"], "BROWSER_TITLE" => $arParams["LIST_BROWSER_TITLE"], "ADD_SECTIONS_CHAIN" => $arParams["ADD_SECTIONS_CHAIN"], "HIDE_NOT_AVAILABLE" => $arParams["HIDE_NOT_AVAILABLE"], "DISPLAY_COMPARE" => $arParams["USE_COMPARE"], "SET_TITLE" => $arParams["SET_TITLE"], "SET_STATUS_404" => $arParams["SET_STATUS_404"], "SHOW_404" => $arParams["SHOW_404"], "MESSAGE_404" => $arParams["MESSAGE_404"], "FILE_404" => $arParams["FILE_404"], "PRICE_CODE" => $arParams["PRICE_CODE"], "USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"], "SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"], "PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"], "USE_PRODUCT_QUANTITY" => $arParams["USE_PRODUCT_QUANTITY"], "OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"], "DISPLAY_TOP_PAGER" => $arParams["DISPLAY_TOP_PAGER"], "DISPLAY_BOTTOM_PAGER" => $arParams["DISPLAY_BOTTOM_PAGER"], "PAGER_TITLE" => $arParams["PAGER_TITLE"], "PAGER_SHOW_ALWAYS" => $arParams["PAGER_SHOW_ALWAYS"], "PAGER_TEMPLATE" => $arParams["PAGER_TEMPLATE"], "PAGER_DESC_NUMBERING" => $arParams["PAGER_DESC_NUMBERING"], "PAGER_DESC_NUMBERING_CACHE_TIME" => $arParams["PAGER_DESC_NUMBERING_CACHE_TIME"], "PAGER_SHOW_ALL" => $arParams["PAGER_SHOW_ALL"], "AJAX_OPTION_ADDITIONAL" => "", "ADD_CHAIN_ITEM" => "N", "SHOW_QUANTITY" => $arParams["SHOW_QUANTITY"], "SHOW_QUANTITY_COUNT" => $arParams["SHOW_QUANTITY_COUNT"], "SHOW_DISCOUNT_PERCENT" => $arParams["SHOW_DISCOUNT_PERCENT"], "SHOW_DISCOUNT_TIME" => $arParams["SHOW_DISCOUNT_TIME"], "SHOW_OLD_PRICE" => $arParams["SHOW_OLD_PRICE"], "CONVERT_CURRENCY" => $arParams["CONVERT_CURRENCY"], "CURRENCY_ID" => $arParams["CURRENCY_ID"], "USE_STORE" => $arParams["USE_STORE"], "MAX_AMOUNT" => $arParams["MAX_AMOUNT"], "MIN_AMOUNT" => $arParams["MIN_AMOUNT"], "USE_MIN_AMOUNT" => $arParams["USE_MIN_AMOUNT"], "USE_ONLY_MAX_AMOUNT" => $arParams["USE_ONLY_MAX_AMOUNT"], "DISPLAY_WISH_BUTTONS" => $arParams["DISPLAY_WISH_BUTTONS"], "LIST_DISPLAY_POPUP_IMAGE" => $arParams["LIST_DISPLAY_POPUP_IMAGE"], "DEFAULT_COUNT" => $arParams["DEFAULT_COUNT"], "SHOW_MEASURE" => $arParams["SHOW_MEASURE"], "SHOW_HINTS" => $arParams["SHOW_HINTS"], "OFFER_HIDE_NAME_PROPS" => $arParams["OFFER_HIDE_NAME_PROPS"], "SHOW_SECTIONS_LIST_PREVIEW" => $arParams["SHOW_SECTIONS_LIST_PREVIEW"], "SECTIONS_LIST_PREVIEW_PROPERTY" => $arParams["SECTIONS_LIST_PREVIEW_PROPERTY"], "SHOW_SECTION_LIST_PICTURES" => $arParams["SHOW_SECTION_LIST_PICTURES"], "USE_MAIN_ELEMENT_SECTION" => $arParams["USE_MAIN_ELEMENT_SECTION"], "ADD_PROPERTIES_TO_BASKET" => (isset($arParams["ADD_PROPERTIES_TO_BASKET"]) ? $arParams["ADD_PROPERTIES_TO_BASKET"] : ''), "PARTIAL_PRODUCT_PROPERTIES" => (isset($arParams["PARTIAL_PRODUCT_PROPERTIES"]) ? $arParams["PARTIAL_PRODUCT_PROPERTIES"] : ''), "PRODUCT_PROPERTIES" => $arParams["PRODUCT_PROPERTIES"], "SALE_STIKER" => $arParams["SALE_STIKER"], "SHOW_RATING" => $arParams["SHOW_RATING"], ), $component, array("HIDE_ICONS" => $isAjax) );?> и это только вызов одного компонента в битриксе там таких вызовов целый поезд, и вагон с прицепом в придачу.
5 лет назад такой херней маился. Ручками... --- Добавлено --- окончив, ору - "My name is GodProgramer"
Зачастую там не много нужно обычно править, ид инфоблока или путь к чему либо, или еще чего)). --- Добавлено --- От того, что ты охреневаешь проект быстрее не завершится --- Добавлено --- Я не говорил что нужно, просто ты приписал @Fell-x27 что это лишь его желания. Оказывается разрабы Yii2 того же мнения, получается это хорошая практика, которой следует придержаться, ну или не следует. Все наверно зависит от самой архитектуры приложения.
Да он не знает yii2 что ты ему пытаешься разъяснить? Херачит клиентский код в представлениях, видишь же. grunt умывается слезами, о чем разговор вести то. Выйдет из проектов с пятьюстами хитов в рыбный день и начнет думать или не начнет
Повторюсь, я не защищаю битрикс как таковой. Но я против ярлыков "я такое видел в битриксе, значит это априори неправильно". Неправильно то, что противоречит здравому смыслу. --- Добавлено --- Я вот не знаю yii2. Но, видимо, не все так плохо, коль не только мне и разрабам битрикса подобные идеи в голову приходят.