Ответы пользователя по тегу PHP
  • Выборка товаров по свойству битрикс?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    А если так сделать?
    $arrFilternovelty = Array('!PROPERTY_NEWPRODUCT' => false);

    NEWPRODUCT имеет тип "Список"?
    Если в фильтре вы пишете PROPERTY_NEWPRODUCT_VALUE, тогда нужно сравнивать именно со значением списочного свойства, к примеру:
    $arrFilternovelty = Array('PROPERTY_NEWPRODUCT_VALUE' => 'Да');
    или так, если у значения свойства "Да" установлен XML_ID 'Y':
    $arrFilternovelty = Array('PROPERTY_NEWPRODUCT_VALUE_XML_ID' => 'Y');
    Ответ написан
  • Как убрать конечный слеш в адресной строке?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    Предположу, что добавление слешей у вас идет на уровне сервера, а не на уровне самого сайта. А изменения в urlrewrite не влияют на добавление слешей никак, поскольку этот файл предназначен для парсинга url и подключения необходимого файла для обработки. И вопрос на всякий случай: может, какой-то модуль для битрикса установлен, который добавляет слеши?

    В .htaccess где-то выше указанного блока точно не присутствуют правила редиректа страниц без слеша на страницы со слешем?

    Можно еще при помощи сервиса яндекса https://webmaster.yandex.ru/tools/server-response/ проверить, какой статус отдают страницы вида site.ru/poezda/poezd2

    UPD.

    Проверил на одном из своих сайтов, у меня заработало как надо с такими изменениями htaccess take.ms/N3WEE:

    1. В секцию mod_dir добавляем строку

    DirectorySlash Off

    2. В секцию mod_rewrite добавляем строки

    RewriteCond %{REQUEST_URI} ^.*[^/]$
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}/index.php -f
    RewriteRule ^(.*)$ /$1/index.php [L]

    Индексные страницы разделов стали открываться как со слешем, так и без слеша на конце.
    Ответ написан
    6 комментариев
  • Как запрограммировать слайдер на битрикс?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    Вы используете catalog.section, у которого, во-первых, выборка элементов находится в $arResult["ITEMS"], а во-вторых, PROPERTY_IMAGES_VALUE используется, если вы через CIBlockElement::GetList сами будете делать выборку свойств (но поскольку изображения хранятся во множественном свойстве, то решается это обычно не через CIBlockElement::GetList, а через CIBlockProperty::GetList).

    Поскольку вы обрабатываете уже готовую выборку элементов в result_modifier.php, то доступ к значениям свойств элементов идет не через PROPERTY_IMAGES_VALUE, а так: ["PROPERTIES"]["IMAGES"]["VALUE"].

    Т.е. в общем случае для вашего варианта нужна такая конструкция:

    foreach ($arResult["ITEMS"] as &$arItem) 
    {
    	$arItem["IMAGES"] = array();
    	foreach ($arItem["PROPERTIES"]["IMAGES"]["VALUE"] as $imageId) 
    	{
    		$arItem["IMAGES"][] = CFile::GetFileArray($imageId);
    	}
    }
    unset($arItem);


    и в подобных ситуациях удобнее посмотреть весь результат, чтобы увидеть, какие данные где находятся:
    var_dump($arResult);
    или
    print_r($arResult);
    Ответ написан
    2 комментария
  • Как настроить отправку smtp в битрикс?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    1. Если хостинг виртуальный, на нем может быть запрещена отправка по smtp
    2. Возможно, на стороне office365 нужно что-то включить (или отключить) в аккаунте администратора. Например, чтобы отправлять с сайта по smtp через Google-почту для доменов, в аккаунте администратора нужно отключить одну из галочек, связанных с безопасностью, которая по умолчанию не разрешает отправлять по smtp из внешних приложений (сайтов).
    3. Какие-то другие причины.

    Какой модуль? Если из маркетплейса, обратитесь к его разработчикам, вполне вероятно, что они сталкивались с такой проблемой.

    Попробуйте самостоятельно реализовать отправку писем при помощи PHPMailer и создание функции custom_mail, которую использует битрикс для отправки писем, если эту фунцию определить. По крайней мере с помощью PHPMailer можно будет увидеть, что отвечает почтовый сервер (ошибки или какую-то дополнительную информацию).
    Ответ написан
    Комментировать
  • Как в breadcrumb выводит разделы инфоблока?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    Проверьте для начала, передается ли параметр ADD_SECTIONS_CHAIN в компонент catalog.section.list, который подключается в файле section.php компонента catalog (если используется типовой шаблон catalog).
    Ответ написан
    4 комментария
  • Как добавление класс active к активной записи инфоблока битрикс?

    workDNK
    @workDNK
    Разработчик сайтов на 1С-Битрикс
    В чем именно проблема заключается?

    В шаблоне компонента, который выводит новости, в файле template.php добавьте условие, что если это первый элемент массива, то к нему добавить класс active.
    Ответ написан
    Комментировать