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

    BXVoral
    @BXVoral
    Веб-разработка
    Вопрос не очень точный. Если я правильно понял: у вас есть инфоблок, в котором есть пользовательское свойство типа привязка к элементу инфоблока. Вам нужно программно задать значение этому свойству. В этом случае можно воспользоваться методом CIBlockElement::SetPropertyValuesEx
    Ответ написан
    Комментировать
  • Как при импорте Highload-блока через админку добавить правило для автоматического заполнения одного из полей?

    BXVoral
    @BXVoral
    Веб-разработка
    Создать обработчики событий добавления и обновления. Вот подобрал статью - не проверял "кодом", но выглядит вроде правильно.
    Ответ написан
    2 комментария
  • Как настроить поиск?

    BXVoral
    @BXVoral
    Веб-разработка
    Эм.... У вас в одном свойстве хранится три разных свойства и есть четкое "форматирование"?

    На мой взгляд правильный подход это разделить на три свойства и использовать штатный поиск битрикса. Иначе вам придется выкручиваться с написанием SQL подзапросов (которые будут парсить значение).

    Если, например, у вас "так прилетает из 1С и там нет возможности это сделать" - можно сделать обработчики событий на добавление и редактирование элемента. В обработчике "разбирать" значение этого свойства и записывать в отдельные.

    Для существующих товаров в базе можно написать скрипт и один раз прогнать по базе.
    Ответ написан
  • Как грамотно разворачивать разработку на Битрикс на локалке?

    BXVoral
    @BXVoral
    Веб-разработка
    Да именно так. Если предположить, теоретически, что вы сделали что все работает с одними и теми же файлами битркис (извратится можно попробовать, но проблем это доставит точно: разные версии, необходимость подкидывать отдельные конфиги, различные модули.....) то все равно из 15 гигов. битрикс занимает не 90% же. Т.е. большая часть из этих 15 это файлы конкретного проекта.

    Кроме того, я например, на некоторых проектах ядро так же помещаю в git репозиторий (но отдельный от файлов проекта). Т.е. тоже за счет необходимости соблюдения версий и уникального набора модулей для каждого проекта - не объединить с другими проектами

    На практике вы реально планируете работать одновременно с 20 проектами? Если вам так важно место и не хочется докупить диски - бекапте те проекты, с которыми не работаете.

    В общем лично я привык так же работать локально, это удобно. Единственное, что в вашей схеме смущает это Windows. Мне кажется намучаетесь. Как то клиенту, нужно было на ноутбуке проект развернуть (он хотел устроить демонстрацию на каком то совещании) - после долгого времени мучений плюнул и развернул виртуальную машину с линуксоом.

    Так же могу дать пару советов. У меня есть проекты где они требуют и 50 гигов на один :)
    1 Написал скрипт, который чистит базу, в моем случае я заложил логику "в каждом разделе оставлять не более 30 товаров"

    2. Не реализовывал, но вынашивал как то идею - вместо всех картинок товаров подсовывать за счет редиректа заглушки - а сами картинки удалить из каталога upload
    Ответ написан
    2 комментария
  • Как синхронизировать количество товара в корзине и на странице категории?

    BXVoral
    @BXVoral
    Веб-разработка
    Доработать шаблон компонента. Раз у вас товары помещенные в корзину как-то выделяются (если я правильно понял) то надо доработать этот функционал и подставлять это значение. Как это делать точно: все зависит от реализации конкретно у вас.

    В общем случае выполняется либо ajax запрос за состоянием корзины, либо то же самое но просто в component_epilog.php Далее данные полученные любым из этих способов при помощи js подставляются в input.

    На мой взгляд при выборе ajax vs component_epilog.php лучше запрашивать аяксом.
    Ответ написан
    Комментировать
  • Как в Битриксе сохранить большую форму с вложеннсотью?

    BXVoral
    @BXVoral
    Веб-разработка
    Так храните участников в другом инфоблоке. А связь при помощи множественного поля типа привязка к элементам инфоблока
    Ответ написан
    Комментировать
  • Как снять ограничение в названии новости Битрикс?

    BXVoral
    @BXVoral
    Веб-разработка
    Варианта два:
    1. Правильный на мой взгляд. Создаете новое свойство типа текст в которое будет влезать заголовок любой длинны. И на вкладке СЕО настраиваете отображение заголовка элемента на это поле. Так же если используемые компоненты дают такой выбор настроить и там. Плюс, если компоненты и/или шаблоны самописные проверяете, чтоб использовалось это свойство. Возможно стоит сделать обработчик события BeforeIndex чтобы значение индексировалось для поиска

    2. Быстрый, но не корректный. Изменить в базе данных размерность поля. Но тут проверка БД будет выдавать сообщение, и если кто то нажмет "автоматически исправить" - быть беде. :) Ну и вообще все прелести, которые могут возникнуть если изменять работу системы, по сути, в "ядре"
    Ответ написан
  • В чем причина дублирования страниц на bitrix?

    BXVoral
    @BXVoral
    Веб-разработка
    Скорее всего у вас на страницу есть кривая ссылка типа href="kontakty/" (без слэша в начале) означающая путь относительный от текущего. При этом правила url настроены так, что обрабатывается "нормально".... Т.е. вложенность растет: ссылка ведет глубже и глубже.

    Проверьте ссылки на раздел контактов - она у вас не корректная.
    Ответ написан
    Комментировать
  • Как развернуть локальную копию Bitrix для разработки?

    BXVoral
    @BXVoral
    Веб-разработка
    Раз привыкли к git - то какие проблемы?
    В первых настройте git на бою (как я понимаю он у вас уже есть). В gitignore советую добавить ядро битрикс (если хочется его под гитом - лучше сделать для него свой репозиторий. А так же конфигурационные файлы:
    /bitrix/php_interface/dbconn.php и /bitrix/.settings.php. Кроме того .htaccess можно, но тут уже только если есть необходимость: в штатном случае там нет ни чего серверо зависимого. Но если, например, у вас есть тестовый сервер и он закрыт средствами апача - как следстве в htaccess это прописано. Значит его нужно исключить...

    Далее делаете бэкап на бою... И разворачиваете локально при помощи скрипта restore.php (ссылка на него есть в резервных копиях) из этого бэкапа. Далее в гите прописываете репозиторий боя, и если есть, репозитооий тестового сервера.

    Тут больше вопрос в деплое. Т.к. чаще всего на бою разрешено править файлы (кстати, на больших проектах запрещают). т.е. загрузка обновлений в несколько этапов: комитите локально в некую ветку разработки, идете на бой, комитите там изменения, загружаете к себе в мастер, мастер мерджите в ветку разоработки и пушите ее на бой. Далее на бою уже мерджите эту свою ветку в мастер.
    Т.е. посыл такой, что конфликты разруливать надо локально.

    Конечно в идиале запрет на редактирования файлов на бою, и через баре репозиторий.

    Если проблема с доступом по ssh могу предложить модуль для работы с git из админки (из битрикс маркетплейса).

    Так же, правда давно уже, статейку писал. Все руки не дойдут подправить. Но вроде здесь указал моменты которых нет там, но на которые надо обратить внимание
    Ответ написан
    2 комментария
  • Bitrix как вывести $APPLICATION->GetProperty?

    BXVoral
    @BXVoral
    Веб-разработка
    Если на момент вызова это свойство не установлено, то его и ни как не получить. Тут саму суть надо понимать. ВЫ хотите получить значение, которое еще не задано ни как и не известно какое оно будет.
    Если вы в самом начале header.php сделаете
    $APPLICATION->SetProperty('MyProp','value1');
    тогда будет не false, а value1 . Но! Допустим вы его используете, но в футере добавите
    $APPLICATION->SetProperty('MyProp','value2');
    в итоге получиться, что вы работаете не с тем значением. Т.к. ShowProperty будет показывать value2, а вы "уже" обработали value1
    Так, что вам лучше задаться вопросом "зачем". Зачем вы это делаете? Возможно вы просто идете ошибочным путем.
    Ответ написан
    Комментировать
  • Почему в Битриксе меняется при сохранении тип товара?

    BXVoral
    @BXVoral
    Веб-разработка
    Нет не нормальное. Обработчик событий до или после сохранения не добавляли?
    Ответ написан
    Комментировать
  • Как отредактировать элементы страницы сайта на Битрикс, если при визуальном редактировании всплывающее меню редактирования не появляется?

    BXVoral
    @BXVoral
    Веб-разработка
    Все зависит от того как вам это сделали. В админке есть Настройки продукта - Настройки - Сайты - Шаблоны сайтов. Там выбираете шаблон, который используется - открываете на редактирование там первая вкладка шаблон. В поле редактирования объединены header.php и footer.php поищите там футер (например по стилям) и посомотрите - с большой долей вероятности у вас они там либо прописаны, либо выводятся неким специальным (реализованном на вашем проекте) кодом.

    Но будьте аккуратны и внимательны перед правкой сделайте резервную копию, а лучше сначала сделайте на тестовом сайте.
    Ответ написан
    Комментировать
  • Как в catalog.section.list сделать сортировку по "ELEMENT_SORT_FIELD" => "UF_SORT_F"?

    BXVoral
    @BXVoral
    Веб-разработка
    А откуда вы взяли такой параметр как ELEMENT_SORT_FIELD?
    У вас компонент выводит разделы, по "идеологии" битрикс параметр с таким именем должен был бы сортировать элементы, а не разделы.

    Между тем в доке к bitrix:catalog.section.lst указано , что для кастомной сортировки есть параметр CUSTOM_SECTION_SORT
    Ответ написан
    Комментировать