Задать вопрос
Контакты
Местоположение
Россия

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (33)

Лучшие ответы пользователя

Все ответы (306)
  • Как вы организовали хранение данных к проектам?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Как уже написали стоит использовать системы контроля версий. Например Git. Если нужны бесплатные приватные репозитории, то можно пользоваться gitlab или bitbucket.

    Лично я дома использую следующую схему:
    На сервере гипервизор esxi. Одна из виртуалок gilab-ce. В другой виртуалке развернул jetbrains youtrack. В проектах youtrack настраиваю синхронизацию с репозиториями из gitlab.
    В качестве IDE использую phpStorm, в котором настроена синхронизация задач с youtrack.

    Когда проект приходит в работу:
    1) Создаю репозиторий в gitlab.
    2) Создаю проект в youtrack
    3) Настраиваю в youtrack синхронизацию с репозиторием
    4) В youtrack нарезаю проект на задачи
    5) На рабочей машине создаю проект в phpstorm и настраиваю в нем синхронизацию задач с youtrack.

    Дальше при работе над конкретными задачами в phpstorm ставлю выполнение тех или иных задач, через tools->Tasks&context

    А теперь для чего все это нужно:
    Иногда встречаются повторяющиеся задачи, но тяжело вспомнить в каком проекте они реализовывались. А так в результате всех этих манипуляций, я имею историю работы над всеми проектами в yotrack. Причем сразу видно описание задач, в которых можно отследить какие изменения в код вносились по той или иной задаче. Например вот так это может выглядеть https://yadi.sk/i/WER-B7yB3L5ybN . Теперь почитав описание задачи, можно открыть вкладку VCS и сразу перейти в коду.
    Ответ написан
    4 комментария
  • Как в битриксе используя ORM получить значение из нескольких сущностей?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Тут можно почитать про связи между ORM сущностями.

    Если сущности, о которых вы спрашиваете, связаны, то делается это довольно просто.

    Допустим вот так описано поле по которому идет связь между сущностью Book и Author внутри класса BookTable:
    new Entity\ReferenceField(
        'AUTHOR',
        'SomePartner\MyBooksCatalog\Author',
        array('=this.AUTHOR_ID' => 'ref.ID'),
        array('join_type' => 'LEFT')
    )

    тогда чтобы выбрать какое либо поле из сущности author надо в getList добавить Author.<Код поля>. например так:
    BookTable::getList(array(
        'select' => array(
            'TITLE',
            'AUTHOR_NAME' => 'AUTHOR.NAME',
            'AUTHOR_LAST_NAME' => 'AUTHOR.LAST_NAME'
        )
    ));

    Пример взят из статьи по ссылке приведенной выше.
    Ответ написан
    3 комментария
  • Как вывести умный фильтр в двух местах интернет-страницы?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Как вариант использовать отложенные функции.
    Например в шаблоне компонента умного фильтра делаешь вывод обоих блоков, только обернув их в

    <? $this->SetViewTarget("filter1");?>
               //Код блока 1
    <? $this->EndViewTarget();?> 
    <? $this->SetViewTarget("filter2");?>
               //Код блока 2
    <? $this->EndViewTarget();?>


    А там где нужно, например в section.php комплексного компонента каталога, вывести эти блоки так:

    <? $APPLICATION->ShowViewContent('filter1');?>
    <!--какой то код и вертска-->
    <? $APPLICATION->ShowViewContent('filter2');?>
    Ответ написан
    Комментировать
  • Как создать динамическую область внутри шаблона компонента?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Через композит можно сделать так как написано в курсе

    Лично я привык делать по другому:
    - В шаблоне выводить кнопку без всякой логики.
    - После загрузки страницы делать ajax запрос к скрипту в котором получать товары, которые находятся в корзине.
    - Товарам которые в корзине через js расставлять нужные классы на кнопки.

    Так не будет проблем с кешированием.
    Ответ написан
    1 комментарий
  • Как найти какой php делает редирект?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Если дело в битриксе, то надо искать вызовы функции LocalRedirect. Добавьте логирование в тело функции (запись в файл вывода debug_backtrace).

    LocalRedirect объявлена в файле bitrix/modules/main/tools.php
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (6)