Есть список новостей, организованный в виде инфоблока, разбитого по тематике. У каждой новости есть поле - издание. У издания есть выпуски. Издания реализованы как разделы. Элементы раздела - выпуски. Новость имеет свойство - привязка к выпуску.
Теперь задача. Нужно вывести список выпусков, по определённым параметрам, причём в этом списке должны быть только те выпуски, к которым привязаны статьи.
Для вывода выпусков используется news.list. Параметры поиска задаю через FILTER_NAME. Можно как-либо отбросить ненужные выпуски, используя FILTER_NAME?
Альберт Муллаянов пишет: Ну так задайте новую переменную $quantity например и пропишите в шаблоне $quantity = $quantity+$arResult["QUANTITY"]; и выводите уже не $arResult["QUANTITY"], а просто $quantity. Корявый метод - скажут разработчики, но самый быстрый и не задевает сам компонент корзины, а только шаблон. так что при обновлении все останется на своих местах.
Да уж... Битрикс нормальная система. Зачем костыли делать? Низачот, одним словом.
Цитата
Max Pryazhevsky пишет: Это стандартное поведение системы - при добавлении товара в корзину его количество увеличивается на 1 с помощью функции Add2BasketByProductID().
Вот я про что и говорю - стандартное поведение не работает. Вернее, работает, но один товар можно добавить только один раз.
Цитата
Какие компоненты используются для вывода товаров каталога (свои или стандартные)?
Компоненты все стандартные.
Цитата
Что происходит, если в самой корзине увеличивать количество и обновлять корзину?
Да всякие компоненты использую - малую корзину, корзину в личной странице. На уровне классов содержимое выводил - всё одно. Такое ощущение, что какая-то насройка стоит.
Альберт Муллаянов пишет: Дописывать в шаблоне корзины вывод smile:)
Какой вывод? Я сделал print_r ($arResult); в шаблоне. Поле quantity для элементов корзины = 1. Сколько бы я не пробовал добавлять уже добавленный товар. Пробовал даже через апи битрикса находить в корзине нужную позицию и менять ей количество на +1. Пофигу. В корзине к-во элементов не менялось.
Ситуация такая: Есть магазин. В описании товара есть кнопка добавления в корзину. Нажимаю - товар добавляется, страница обновляется. Кликаю ещё раз "Добавить" - страница обновляется, количество товара остаётся прежним.
Что сделать, чтобы при повторном нажатии если товар в корзине есть, то его количество бы увеличивалось на 1?
Идешь в \bitrix\templates\.default\components\bitrix\system.pagenavigation Там делаешь копию папки .default. Даёшь своей копии имя. Заходишь в созданную папку, открываешь template.php. Ctrl+A, потом delete. Идёшь нв ту страницу, вкоторой надо убрать информацию о страницах. Переходишь в режим разработки. В нвстройках компонента в пункте "Настройки постраничной навигации" в подпункте "Название шаблона" вписываешь имя своего пустого шаблона. Сохраняем.
Сделай в шаблоне такую штуку: print_r ($arParams); Это покажет тебе всю инфу о новостях, я не уверен, но думаю, что значение твоего пользовательского поля там тоже будет. Если это так, то делаешь в шаблоне switch по своему пользовательскому полю и в зависимости от значения подключаешь стиль через $APPLICATION->SetAdditionalCSS.
Должно сработать. Но если нет, то можно второй, 'ламмерский' способ. Через параметр в строке запроса. Всё тоже самое, что и в первом варианте, но вместо $arParams используешь $_GET.
Если струкура новости (я имею ввиду HTML-разметку) одинаковая, а тебе надо менять только CSS для каждого из типов, то я бы подключал соответствующий CSS в шаблоне для компонента.
Если не понятно - пиши, объясню на пальцах.
PS: А как организована типизация новостей? Пользовательское поле или ты сделал 3 инфоблока типа "Новости"?
Документацию я хорошо изучил. Меня не фильтр интересует, a сортировка - в SQL это то что написано после ORDER BY. Другими словами мне нужен не простой ORDER BY UF_TYPE DESC, а что-то вроде ORDER BY UF_TYPE ASC, NAME DESC, ... Надеюсь я понятно объяснил то, что мне нужно.
Уважаемые, подскажите пожалуйста, как отсортировать список пользователей по нескольким полям с различными направлениями сортировки?
Я выбираю список пользователей с помощью CUser::GetList. В мануале написано, что $by может принимать такие-то значения. Но меня интересуют значения пользовательских полей.
neytrino пишет: Я бы не рекомендовал переопределять ПОСТ, только если уверен на 100% и лень сделать нормально:
достаточно добавить обработчик события добавления(обновления) элементов инфоблока, там будут уже те поля, которые пользователь заполнил и через них можно будет сгенерировать необходимое поле. Кроме того будет бонус, при заполнение этих координат через админку битрикса, этот обработчик тоже будет срабатывать.
Мне очень нравится это решение. Вот только я не знаю, как добавить этот обработчик. Научи, а?
Вообще, я пока новичок в битриксе и может очень многого ещё не понимаю. Но вот как я себе это всё дело представляю.
Я зашел в доску объявлений. Нажал добавить обявление. Запускается скрипт, который лежит в /content/board/my/index.php Всё что есть в этом скрипте - подключение компонента bitrix:iblock.element.add.
Потом я добавил в шаблон такую строку: print_r ($_POST); И увидел, как битрикс сохраняет данные из формы:
$_POST['PROPERTY']['34'][0] вот так передаётся строка.
Тогда я подумал, а почему бы не попробовать проинициализировать нужную мне переменную прямо в ПОСТе? Я добавил такую штуку перед вызовом инициализации компонента: $_POST['PROPERTY']['22'][0] = "Russia"; (соответственно добавил 22е поле в описание объявления). Попробовал сохранить новое объявление. В нужном поле ничего не появилось.