• Как добавить связи всем элементам?

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

    BXVoral
    @BXVoral
    Веб-разработка
    В окне проект необходимо на новом каталоге нажать правой кнопки мышки. В открывшемся меню: Git -> Add.

    Если каталог пустой, то его git не добавляет, по этому в каталог необходимо добавить файл. Обычно в таких случаях добавляют пустой файл .gitkeep
    Ответ написан
    Комментировать
  • DQL. Как получить поле при join?

    BXVoral
    @BXVoral Автор вопроса
    Веб-разработка
    Необходимо было выполнить join для status. Только если рассматривать на уровне запроса SQL мне этот джоин не нужен - мне нужен только id. А он есть в таблице хранящей guest....
    Ответ написан
    Комментировать
  • Как исправить ошибку mysqli_query() expects parameter 3 to be integer, string given in?

    BXVoral
    @BXVoral
    Веб-разработка
    Прочитать документацию по команде

    Вы хотите одной командой два запроса выполнить?
    У команды, третий параметр имеет вполне определенное назначение.
    Ответ написан
    Комментировать
  • Doctrine: очень долго выполняются команды проверки схемы и создания миграции. Как узнать проблему?

    BXVoral
    @BXVoral Автор вопроса
    Веб-разработка
    В общем дело не в Symfony и не в Doctrine. Доктрина для создания миграции и проверке схемы определяет реальную схему в БД. При этом, в числе прочего, обращается к таблице information_schema.referential_constraints . И именно этот запрос тормозит.

    Для примера
    select CONSTRAINT_SCHEMA from information_schema.referential_constraints limit 1;

    выполняется 6 с половиной минут

    В общем создал вопрос с соответствующим заголовком и тегами
    Ответ написан
    Комментировать
  • Как при импорте Highload-блока через админку добавить правило для автоматического заполнения одного из полей?

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

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

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

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

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

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

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

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

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

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

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

    BXVoral
    @BXVoral
    Веб-разработка
    $this->request
                ->method('get')
                ->willReturn(rand(1, 5));
    Ответ написан
    Комментировать
  • Symfony Doctrine XML Mapping Ошибка при попытке описать embeddable поле. Как исправить?

    BXVoral
    @BXVoral Автор вопроса
    Веб-разработка
    Разобрался с ситуацией.

    Классы описывающие Entity и ValueObject находятся в разных неймспейсах и, соответственно, каталогах. В doctrine.yaml mapping был настроен только на один из этих каталогов. Настроил этот раздел каталога и все заработало

    т.е. конфиг стал выглядеть таким образом:
    orm:
            auto_generate_proxy_classes: true
            naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
            auto_mapping: true
            mappings:
                Api:
                    is_bundle: false
                    type: xml
                    dir: '%kernel.project_dir%/src/Api/Infrastructure/Database/Orm'
                    prefix: 'App\Api\Domain\Entity'
                    alias: Api
                ValueObject:
                    is_bundle: false
                    type: xml
                    dir: '%kernel.project_dir%/src/Api/Infrastructure/Database/ValueObject'
                    prefix: 'App\Api\Domain\ValueObject'
                    alias: ValueObject
    Ответ написан
    Комментировать
  • Как синхронизировать количество товара в корзине и на странице категории?

    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 комментария
  • Стоит ли поступать в техникум?

    BXVoral
    @BXVoral
    Веб-разработка
    На мой взгляд стоит.
    Я в сове время учился в энерго техникуме, потом в энергоинтситуте. Во первых техникум полезнее чем два класса школы - уже есть образование. В институте потом учиться гораздо легче (да и преподаватели иначе относятся). При этом в идеале это несколько разные знания.

    Техникум - сделает бойца, институт - командира :)

    Если бы "все сначала" поступил бы точно так же, только бы пошел в профильный институт.

    Но! Очень важно. Само по себе пребывание в этих учебных заведениях и получение корочек не сделает из вас крутого спеца. Там вам не навязывают знания, и не будут за вами бегать и нянчится. Знания надо получать, и там вам могут помочь. Ваше стремление и усилия очень много значат.

    Т.е. техникум + институт + самообразование : рецепт хорошего старта. Самообразование - это вообще постоянно надо будет на протяжении всей карьеры.
    Ответ написан
    Комментировать
  • 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 поищите там футер (например по стилям) и посомотрите - с большой долей вероятности у вас они там либо прописаны, либо выводятся неким специальным (реализованном на вашем проекте) кодом.

    Но будьте аккуратны и внимательны перед правкой сделайте резервную копию, а лучше сначала сделайте на тестовом сайте.
    Ответ написан
    Комментировать
  • Какой ноутбук выбрать для backend разработки в 2020 году?

    BXVoral
    @BXVoral
    Веб-разработка
    У вас 16-18 постоянно заняты. Т.е. по вашим задачам гарантировано ОЗУ надо больше 18. И лучше с запасом. Все быстро развивается. Т.к. ноутбук апгрейдить сложнее, выбирайте хотябы где есть возможность "доставить" памяти если что. Но при таких расходах памяти для комфортной работы, бы даже не рассматривал ниже 32.

    Но, в то же время, почему именно ноутбук? У меня для постоянной стационарный комп, с достаточной производительностью, а вот для выездов - ноутбук. При чем не новый - доставил памяти по максимуму. Работать можно в "походе". Но и не так "свободно" как на стационарном.

    В общем смотрите по здачам - мониторьте ресурсы. Думайте чем готовы пожертвовать.
    Ответ написан
    Комментировать