Если результатов не найдено, и если поисковый запрос состоит из более чем одного слова, поискать по каждому слову отдельно. К организации инфоблоков никакого отношения не имеет, решается исключительно на уровне модуля поиска.
Смысл не в этом. Модель Multisync относится к марке NEC, а пользователь случайно вводит не ту марку (DELL). Результаты есть и они найдены, но необходимо что бы информация о Multisync в запросе отображалась выше, чем информация о мониторах DELL. Если прочитать этот материал, то можно узнать о существовании правил сортировки поисковых запросов. И хотелось бы уточнить на конкретном примере каким образом необходимо настраивать эти самые правила и организовывать структуру (можно ли делать структуру вида: "Инфоблок моделей товара - раздел марки модели товара - элементы модели" или же потребуется делать 2 инфоблока "инфоблок марок моделей - элементы марок, Инфоблок товаров модели - элементы моделей со свойством привязки к элементам марки товара") для получения необходимого нам вывода результатов в случае неоднозначного поискового запроса.
Допустим имеется инфоблок, в котором содержится информация о моделях мониторов (например DELL, Nec), пользователь на странице поиска вводит запрос вида "dell multisync", (dell - марка, multisync - модель марки NEC). Каким образом необходимо представить структуру данных в информационных блоках, для того, что бы при подобном запросе выдача результатов была: 1. Информация про multisync. 2. Информация про DELL?
Доброго времени суток. Столкнулся со следующей проблемой: имеется сайт под управлением битрикса, имеется iPad 2. Заходим в админку CMS, выбираем элемент, в котором есть форма с загрузкой изображения и видим, что кнопка загрузки изображения не активна (проверялось в сафари и опере). Просьба помочь знающих людей, в чем проблема и как ее решить
Графическое горизонтальное многоуровневое меню, Нужно изменить шаблон меню horizontal_multilevel, чтобы получить Графическое горизонтальное многоуровневое меню
Если по расписанию, то: http://dev.1c-bitrix.ru/user_help/store/catalog/export/yandex_money.php "Настройки" - "Торговый каталог", там производите нужные Вас настройки на каждой из вкладок (не забываем поставить расписание для периода экспорта в яндекс товары и на вкладке "Торговые каталоги поставить галочки для нужных инфо-блоков). Но тут вопрос встречный...
На сайте яндекс.маркета указана вот такая штука: http://partner.market.yandex.ru/legal/tt/#id1167310938828, можно ли настроить стандартными средствами битрикса эти самые расценки(ставки)? Если нет, то просьба навести на то как это сделать можно.
Пробовал подобное сделать через тип type="vendor.model", но как задать желаемые атрибуты-ставки bid и cbid не нашёл, возможно плохо искал...
вверх. Дополнение: проблема возникает только при работе компонента в режиме AJAX, пока проблема решается использованием обработчика JavaScript в шаблоне компонента, который фактически совершает редирект, что не совсем хорошо:
Пояснение: Зайдите на страницу с выбранным элементом инфоблока под "хлебными крошками" обратите внимание на фильтр, нажав на кнопку "дополнительно" - Вы увидите ваше фильтруемое поле.
Если я понял правильно Вашу задачу, то Вам нужно "копать" в сторону компонента catalog.filter и разбираться какие данные нужно передать в фильтр. По аналогии можно посмотреть работу фильтра в компоненте news, думаю многое станет понятно.
Доброго времени суток, снова иду на форум в поисках ответа на возникающие вопросы ...
Имеется инфоблок, за которым закреплено свойство множественного типа (само свойство типа файл, но это не так важно, проверял на других типах - эффект тот же). Изначально инфоблок был стандартным и при выборке по полю свойства
к результатам добавлял ненужные дублирующиеся элементы, после листания мануалов и поиска информации в интернете было найдено следующее:
Цитата
Примечание: если в массиве используются свойство, являющееся множественным, то для элементов, где используются несколько значений этого свойства, будет возвращено несколько записей вместо одной. Для решения этой проблемы инфоблоки нужно перевести в Режим хранения свойств в отдельных таблицах, в этом случае для свойства будет отдаваться массив значений. Либо можно не указывать свойства в параметрах выборки, а получать их значения на каждом шаге перебора выборки с помощью _CIBElement::GetProperties().
- да не вопрос подумал я, так и сделаем. Что получилось в итоге? код:
как можно наблюдать поле VALUE пусто, хотя для элементов не множественного типа все нормально (хотя с ними и так проблем не было).
Вопрос: что делаю не так?
Можно конечно использовать и стандартные инфоблоки, но тогда придется вводить условие фильтрации в цикле, так же нужно попробовать в стандартном инфоблоке извлечь свойства отдельно для элемента (чем сейчас и займусь), но почему не работает это - мне не понятно.
UPD: Со стандартным блоком тоже весело. Имея у элемента 3 значения 1ого множественного свойства и 4 значения 2ого множественного свойства получаем декартово произведения - т.е. 12 дубликатов, один из которых выглядит так:
Код
_CIBElement Object
(
[fields] => Array
(
[PROPERTY_WANTED_PHOTO_VALUE] => 52
[~PROPERTY_WANTED_PHOTO_VALUE] => 52
[PROPERTY_WANTED_PHOTO_VALUE_ID] => 293
[~PROPERTY_WANTED_PHOTO_VALUE_ID] => 293
[PROPERTY_FIRSTNAME_VALUE] => Смирнов
[~PROPERTY_FIRSTNAME_VALUE] => Смирнов
[PROPERTY_FIRSTNAME_VALUE_ID] => 290
[~PROPERTY_FIRSTNAME_VALUE_ID] => 290
[PROPERTY_NAME_VALUE] => Олег
[~PROPERTY_NAME_VALUE] => Олег
[PROPERTY_NAME_VALUE_ID] => 291
[~PROPERTY_NAME_VALUE_ID] => 291
[PROPERTY_SECONDNAME_VALUE] => Михайлович
[~PROPERTY_SECONDNAME_VALUE] => Михайлович
[PROPERTY_SECONDNAME_VALUE_ID] => 292
[~PROPERTY_SECONDNAME_VALUE_ID] => 292
[PROPERTY_TEST_VALUE] => test1
[~PROPERTY_TEST_VALUE] => test1
[PROPERTY_TEST_VALUE_ID] => 296
[~PROPERTY_TEST_VALUE_ID] => 296
[NAME] => Разыскивается Смирнов Олег Михайлович как пропавший без вести
[~NAME] => Разыскивается Смирнов Олег Михайлович как пропавший без вести
[CODE] => smirnov_oleg_mikhaylovich
[~CODE] => smirnov_oleg_mikhaylovich
[ACTIVE_FROM] =>
[~ACTIVE_FROM] =>
[SORT] => 500
[~SORT] => 500
)
[props] =>
)
Как видно извлекать свойства при помощи метода GetProperties() бесполезно, так как массив пуст. И что с этим делать? Пока другого выхода кроме как вводить фильтрацию по условию внутри цикла while - не вижу.
UPD2: Про CIBlockElement::GetProperty знаю, на этом пока и работает, но хочется сделать одним запросом к базе а не двумя, и судя по документации сделать это можно, но почему значения множественных свойств при этом оказываются пустыми - не понятно.
В довесок: При таком выводе пагинации наблюдается один "косяк". Имеем мы допустим 22 новости, указываем в фильтре параметр "nPageSize"=>5, например, и ожидаем увидеть на выходе пять (!) страниц 1-5, 6-10, 11-15, 16-20, 21-22, но каким то странным образом мы получаем всего четыре страницы 1-5, 6-10, 11-15, 16-22, то есть на четвертой странице у нас 7 новостей. При том если то же самое делать через стандартный компонент (news, news.list) то все отображается как надо.
Возможно грубо и не универсально, но с конкретной задачей справляется не плохо. Если подскажете как можно оптимизировать и снизить нагрузку на сервер, буду благодарен.
Александр Черкасов пишет: А какая постраничная навигация может быть на странице детального просмотра? Там же выводится всего один элемент. Куда листать?
Не согласен. Интересует возможность листания новостей "следующая" "предыдущая" - пример: http://tele-matic.ru/works/ выберите там любой елемент (проект), вещь нужная.
Касаемо проблемы, сталкнулся с тем же. При использовании комплексного компонента news нормально отображается список новостей и навигация при списке, но при переходе на детальную новость есть лишь ссылка "возврат к списку" которая вшита в сам шаблон news, даже не news.detail, аналогично с отдельными компонентами news.list, news.detail - навигация отображется при списке, но на странице детального просмотра - фигу. Таким образом можно заключить, что стандартный компонент такого не поддерживает и надо изобретать что то своё, так?
Есть сайт, который находится в разработке: http://tmvtule.ru/index.php, на нем есть календарь (в левой колонке), календарь событийный. По замыслу на день может приходиться не одна новость, по этому при клике на дату должен выводиться список новостей за конкретную дату, это работает, проблема возникает в следующем: когда пользователь перешел на список новостей за какую-то дату и хочет выбрать другую дату из календаря, то ничего не происходит, хотя ссылка верна. Вывод списка новостей на странице реализован с помощью CIBlockElement::GetList, то есть не стандартным компонентом и кеширование по идее не должно происходить, хотя думается мне, что проблема все же в нём.
Собственно основной вопрос: В чём может быть причина и как её лечить.
Вопрос второстепенный: Как проще всего сделать что бы при выборе даты из календаря он не прокручивался обратно к текущему месяцу, а оставался на том же месяце где расположена дата. Были идеи с глобальными переменными передающимися например %_REQUEST['month'], сравнение и вывод по этой дате, но может быть можно сделать проще?
Премного благодарен, Ваш пример рабочий, все действительно оказалось проще, чем я думал
Кстати что интересно, при включенном фильтре посмотреть изначально передаваемый массив arParams["FILTER_NAME"], в который записывается значение переменной arrFilter не вышло ...
Здравствуйте! Возникла проблема с навигацией сайта. Суть: Есть инфоблок, в котором содержатся элементы (на нем реализована галерея), как у любого элемента инфоблока имеется анонс и общее описание. Возникла задача реализации блога. Так как пакет старт не включает такой опции приходится выкручиваться несколько иначе, общий функционал вывода подобен новостям, по этому решено было использовать комплексный компонент news, что бы не слишком сильно запариваться с переходом на детальное описание.
Но возникла проблема следующего характера: Вывод элементов блога планируется лишь тогда, когда элемент имеет детальное описание, то есть если детального описания нет - элемент не учитывается. То есть под нужды было добавлено условие проверки на наличие детального описания новости (в шаблоне news.list), но тут появилась другая проблема, навигация считается по полученному массиву $arParams["NAV_RESULT"], где уже предопределены параметры навигации (общее количество новостей, настройки вывода количества новостей и прочие, который задаются в настройке компонента news), т.е. имея реально 2 новости для вывода в блог навигация говорит, что у меня 23 новости - не есть хорошо.
Собственно теперь сам вопрос: Кто сталкивался с подобным и как докопаться до определения массива $arParams, $arResult и повлиять на его вывод?
Перекопал файлы компонента news, news.list, system.pagenavigation, не нашел где он формируется. Притом массив для этих компонентов разный, если посмотреть его содержимое из файла component.php то есть он формируется где то на промежуточной стадии, где - не могу понять, а следовательно и повлиять на него тоже (arResult - аналогично).
Потом очень интересна структура вывода самого компонента новостей, так например до настройки шаблона system.pagination докопаться от туда нельзя приходится руками лезть в bitrix/components/bitrix/system.pagenavigation и колдовать уже там, что не есть хорошо, хотя название system кое о чем говорит, но все же ... и что самое интересное, я нигде не обнаружил вызова данного компонента аля: $APPLICATION->IncludeComponent( "bitrix:system.pagination",... как и описания данного компонента в документации. Вот такие вопросы.
Пока решение проблемы видится в виде апи CDBResult (http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php) и иже с ним, ну или как обычный пщп-код, аля mysql_connect(), mysql_query() и т.д., но согласитесь, не гоже изобретать заного велосипед, с таким же успехом можно было бы обойтись и без самого движка. В общем хотелось бы услышать (прочитать) мнения спецов по данной проблеме, сам с битриксом работаю недели две и всех фишек пока не знаю, по этому заранее извиняюсь, если ответы на вопросы очевидны.
п.с.: реализовывал ли кто нибудь коментарии на инфоблоках, если да, то хотелось бы увидеть пример по возможности и узнать какие модули лучше всего для этого использовать. Пока что задумка это создать новый инфоблок, в котором при комментировании нового элемента блога будет создаваться раздел с именем элемента блога, в котором будут добавляться комментарии в виде элементов раздела (каждый комментарий - новый элемент). Хотелось бы узнать как лучше всего организовать для подобной задачи форму отправки комментария, есть ли стандартные компоненты для этого (с поддержкой премодерации)?