Ответы пользователя по тегу 1С-Битрикс
  • Как настроить чпу компонента при многосайтовости на папках?

    @RuComMarket
    Битрикс FullStack разработчик
    вообще при многосайтовости, если сервер отстроен верно, никаких траблов быть не должно, но попробуйте убрать в настройках #SITE_DIR# и оставить относительную ссылку /services/
    Ответ написан
  • Как передать в шаблон компонента данные?

    @RuComMarket
    Битрикс FullStack разработчик
    в шаблоне компонента добавляем файл .parameters.php
    в этот файл вставляем:
    $arTemplateParameters = [
        "MENU_TITLE" => [
            "NAME" => "Заголовок"
            "TYPE" => "STRING",
        ],
    ];

    после этого в настройках компонента появится поле "Заголовок", а в шаблоне можно достать заполненное поле через $arParams["MENU_TITLE"]
    Ответ написан
    Комментировать
  • Как сделать сортировку товаров AJAX в Bitrix, не используя настройку ajax для компонента каталога?

    @RuComMarket
    Битрикс FullStack разработчик
    если событие вешается на элемент, то оно вешается на существующий элемент, и не работает на вновь подгруженном через ajax, необходимо событие повесить на статичный родительский элемент или весь документ.
    $({родительский элемент}).on({событие},{элемент события},function(event){...});
    Если вешаете на документ, надо учитывать что обрабатываться будут все указанные элементы, если на родительский элемент, то отрабатываются, только те элементы, которые находятся внутри родительского.
    В таком варианте события будут работать на новые подгруженные ajax'ом объекты.
    Сортировку и прочие параметры проще передавать POST'ом, это как минимум удобнее, особенно когда в обработке учитываете фильтрацию и пагинацию (думаю в дальнейшем с этим столкнетесь)
    Ответ написан
    Комментировать
  • При обновление js скрипта в git все меняется на сервере, но на сайт для пользователей отдается через рандомное время. Куда копать?

    @RuComMarket
    Битрикс FullStack разработчик
    копайте в изучение битрикса. Если пользуетесь гитом для публичной разработки, значит разработку на битриксе знаете слабовато, могу предположить, что костылей в вашем коде больше чем кастомизации.
    включите объединение скрипта в битриксе, он будет выдавать ссылку с хэшем, каждое изменение - это новый скрипт для браузера, который будет кэшироваться по новому в том числе и на стороне сервера(но новый вариант выдается начиная со 2-го запроса, т.к. при первом запросе после изменений, отдается сначала ранее закэшированный вариант, а затем кэшируется новый), к тому же это уменьшит объем передаваемых данных.
    Ответ написан
    8 комментариев
  • Как одновременно добавить элемент инфоблока в верхний уровень и в дочерний раздел?

    @RuComMarket
    Битрикс FullStack разработчик
    верхний уровень - это когда раздел не указан, т.е. "галка" разрешает не указывать раздел, соответственно когда добавляется в дочерний, это уже исключает логически верхний уровень
    Ответ написан
  • Bitrix. Как сделать меню подобного типа?

    @RuComMarket
    Битрикс FullStack разработчик
    в файле .{name}.menu.php (где name - ваш тип меню) вытаскиваем все подразделы и через foreach запихиваем в массив $aMenuLinks формируя названия и ссылки
    в шаблоне разбираем массив через foreach распределяя в другой массив, где ключ будет первый символ раздела
    например $menu[substr($arItem["TEXT"],0,1)] = $arItem
    и дальше перебираем полученный массив насаживая на него верстку
    это вариант используя именно стандартный компонент menu, можно сделать свой компонент, который не будет затрагивать файлы меню а сразу будет получать разделы в свой массив распределяя по первому ключу, а дальше также перебираем полученный массив насаживая на него верстку
    Ответ написан
    2 комментария
  • Какие есть способы выводить товар в битриксе?

    @RuComMarket
    Битрикс FullStack разработчик
    catalog.element
    catalog.list
    или просто отдельный шаблон компонентов
    а вообще я привык делать свои компоненты, делаются они быстро, выводишь только необходимое за счет чего отработка в разы быстрее
    Ответ написан
  • Как сделать обработку формы в кастмоном компоненте?

    @RuComMarket
    Битрикс FullStack разработчик
    что у тебя отдается в $componentPath?
    нужно обратиться в тот же компонент направив форму на туже страницу где компонент вызывается, тогда можно отловить в class.php просто на проверку $_POST, т.е. если компонент вызывается с site.ru/ то и направляем на / , а не в саму папку компонента
    Ответ написан
  • Media queries работают только в админке битрикс, что делать?

    @RuComMarket
    Битрикс FullStack разработчик
    css и битрикс в данном случае вообще никак не влияют друг на друга, media отрабатывает браузер, если работает в админке, значит там правильно прописано, а на сайте что-то не так, может класса такого нет, или буковкой в классе ошиблись, может скобочку не доставили где-нибудь выше, причин может быть много
    Ответ написан
    Комментировать
  • Каким образом реализовать товары?

    @RuComMarket
    Битрикс FullStack разработчик
    вариантов решения много.
    1-й вариант
    инфоблок с товарами - вид услуги
    инфоблок с торговыми предложениями - услуга
    остальное распределяем по доп свойствам и устанавливаем правила
    такой вариант более приближенным к стандартным решениям, но это не верный вариант с точки программирования, т.к. слишком большая нагрузка для данного решения из-за множества ненужных запросов
    2-й вариант
    смотрим в битрикс как во фраймворк а не cms с готовыми решениями, используем необходимые модули и пишем свои компоненты.
    те сущности которые большие и могут использовать основные поля инфоблока, а также если есть необходимость использовать функционал магазина и торгового каталога, закидываем в инфоблоки
    если сущность используется для расчетов и формирования цен, не более, то закидываем в hlblock
    далее средствами битрикса в компоненте пишем функционал на вытаскивание полей, расчеты и т.п. все что необходимо.
    во 2м варианте необходимо иметь опыт программирования на битриксе, но это будет более правильный способ, т.к. нагрузка будет минимальная, если писать только необходимые действия, а также более гибкая для вашей фантазии.
    P.S. На битриксе можно написать любой функционал, который пишется на php, главное знать что можно использовать и как это использовать. все остальное зависит от вашей логики и фантазии.
    Ответ написан
    1 комментарий
  • Как настроить url в bitrix для новостей?

    @RuComMarket
    Битрикс FullStack разработчик
    Каталог ЧПУ или URL страницы инфоблока - /news/
    Страница элемента или URL детальной страницы - #ELEMENT_CODE#
    в настройках вызова компонента тоже надо поставить правильно
    Ответ написан
    Комментировать
  • Как сделать в Битрикс несколько корзин у одного покупателя?

    @RuComMarket
    Битрикс FullStack разработчик
    корзина собирается одна, формируется она после оформления заказа.
    если распределяем по дням значит делаем в любом случае несколько заказов.
    поэтому, думаю логически правильно будет использовать функционал именно заказа, а не корзины, т.е. формируется сразу несколько заказов и добавляются в него товары, а фронтом отображаем в виде корзины.
    Кастомизировать придется много.
    Ответ написан
    6 комментариев
  • Как грамотно организовать многосайтовость и несколько шаблонов в битриксе?

    @RuComMarket
    Битрикс FullStack разработчик
    многосайтовость удобнее делать так:
    папки bitrix и upload выводишь за папку с сайтом (можно оставить и в каком-нибудь одном, но лучше вывести за пределы)
    в папках с сайтами создаешь символические ссылки на папки bitrix и upload
    теперь в каждой папке можешь создавать свой сайт, а в папке local компоненты и шаблоны под эти сайты.
    останется в админке создать сайт и указать шаблон.

    если региональные поддомены, то можно поиграться с настройками сервера отправляя все в одну папку, а в битриксе в админке создать региональные сайты, в настройках которых можно указать любое количество шаблонов при определенных условиях.
    по количеству шаблонов, возможно надо найти схожесть в них, создать один шаблон основной, а выводя компоненты уже в них подставлять разные шаблоны, т.е. раскидать верстку по компонентам, так будет гораздо удобнее в дальнейшем что-то править.
    но иногда условия тз подразумевают создания 2-3 шаблонов на один сайт
    Ответ написан
    Комментировать
  • Как подключить js в конец шаблона 1С-Битрикс?

    @RuComMarket
    Битрикс FullStack разработчик
    ты не праильно вчитываешься
    будут добавляться в конец текущего таргета вывода скриптов.
    т.е. ты выбираешь после скриптов ядра или после скриптов шаблона
    если хочешь в конец страницы, то в админке в настройке главного модуля поставь соответствующую галочку
    Ответ написан
    2 комментария
  • Как настроить ЧПУ, чтобы некорректные ссылки отдавали ответ 404?

    @RuComMarket
    Битрикс FullStack разработчик
    настраиваете 404-ю страницу через unit.php (вариантов в инете много)
    через define("ERROR_404"), предварительно прописав условие на defined('ERROR_404') в функции в init.php, можно в любом месте перейти на 404-ю
    в компоненте прописываете условие, что если результатов по акциям нету, то @define("ERROR_404")
    Ответ написан
    Комментировать
  • Как вывести раздел так что бы не пропадал при заходе в него?

    @RuComMarket
    Битрикс FullStack разработчик
    вычисли отдельно дерево разделов, без фильтра конкретного раздела, и отдельно вхождение с фильтром конкретного раздела
    P.S. Надеюсь правильно понял)
    Ответ написан
  • Сортировка в разделах каталога по наличию на складах?

    @RuComMarket
    Битрикс FullStack разработчик
    *CATALOG_STORE_AMOUNT_<идентификатор_склада> - сортировка по количеству товара на конкретном складе (доступно с версии 15.5.5 модуля Торговый каталог).
    Ответ написан
    Комментировать
  • Как добавить картинки на инфоблок через API?

    @RuComMarket
    Битрикс FullStack разработчик
    надо средствами битрикса сохранять файл
    мой старый вариант:
    $file_im = CFile::CheckImageFile($_FILES["PREVIEW_PICTURE"],0,0,0,"IMAGE");
    		if (!$file_im) {
    			CAllFile::ResizeImage(
    				$_FILES["PREVIEW_PICTURE"],
    				array(
    				 "width" => "800",
    				 "height" => "800"
    				),
    				BX_RESIZE_IMAGE_PROPORTIONAL_ALT
    			  );
    			$file_ID = CFile::SaveFile($_FILES["PREVIEW_PICTURE"], "catalog/".$type_object);
    		} else {
    			$return["error"]["str"] = $file_im;
    			exit(\Bitrix\Main\Web\Json::encode($return));
    		}
    		if ($file_ID) $file_pp = CFile::MakeFileArray($file_ID);

    и дальше забиваешь в нужное свойство инфоблока, например PREVIEW_PICTURE, т.е. сначала сохраняешь, в ответе приходит id, по нему получаешь нужный массив, который вбиваешь в нужное поле
    Ответ написан
  • Производится ли пересчёт заказа при вызове метода save()?

    @RuComMarket
    Битрикс FullStack разработчик
    Если надо изменить сумму заказа, лучше всего прописать условия в правилах
    Маркетинг -> торговый маркетинг -> правила работы с корзиной
    Ответ написан
    Комментировать
  • Почему не ставится флаг оплаты заказа при использовании API D7?

    @RuComMarket
    Битрикс FullStack разработчик
    попробуй так
    $payment->setPaid("Y");
    Ответ написан
    Комментировать