anriko, посмотрел, действительно с версии модуля iblock 20.0.400 стал доступен параметр CUSTOM_SECTION_SORT и он работает - сам проверил
У меня версия 20.0.350 и там все как я описал (у тебя, раз версия ниже чем указано в ддокументации этот параметр работать не будет)
Можешь в файле /bitrix/components/bitrix/catalog.section.list/component.php найти
//ORDER BY
$arSort = array(
"left_margin"=>"asc",
);
и заменить на то как в новой версии
//ORDER BY
$arSort = array();
if (!empty($this->arParams['CUSTOM_SECTION_SORT']) && is_array($this->arParams['CUSTOM_SECTION_SORT']))
{
foreach ($this->arParams['CUSTOM_SECTION_SORT'] as $field => $value)
{
if (!is_string($value))
{
continue;
}
$field = strtoupper($field);
if (isset($arSort[$field]))
{
continue;
}
if (!preg_match('/^(asc|desc|nulls)(,asc|,desc|,nulls)?$/i', $value))
{
continue;
}
$arSort[$field] = $value;
}
unset($field, $value);
}
if (empty($arSort))
{
$arSort = array(
"LEFT_MARGIN" => "ASC",
);
}
ну и к параметрам вызова компонента catalog.section.list добавить
Ты вообще читаешь, что тебе пишут? Я тебе уже объяснял почему это не будет работать мой коммент на твой вопрос
И вообще я на тебя время потратил, а ты ни ответа ни привета. Если не помог мой ответ, так и напиши, будем разбираться дальше Если помог, тоже пиши, перенесу коммент в ответы, а ты отметишь что вопрос решен!
У тебя 70 вопросов и только 4 отмечены ответами - это плохо, исправляй.
Luris,
список - catalog.section
деталка - catalog.element
Название шаблонов я знать не могу, в комплексном компоненте catalog в файлах section.php и element.php соответственно это можно посмотреть
Luris, Это задача программиста, со знанием api битрикса + надо уметь верстать. Не вижу смысла писать в каких именно файлах/шаблонах требуется корректировка - при минимальном понимании того как работает битрикс это очень просто узнать.
Если у тебя в компании такие люди умные и не хотят платить деньги программисту, пусть сами и делают. А то так ох.енно было бы:
Сам нихера не знаешь/не умеешь, написал здесь задачу, а тот кто лет 5-10 потратил, чтобы знать/уметь, тебе ее бесплатно сделал. Ты потом с этого прибыль получаешь, а тот кто время тратил и задачу делал пусть х.й сосет. Так что-ли в их понимании это работает?
Можешь прямо мой ответ своему начальству скинуть.
Не вижу никакой сложности, оставляй выгрузку как есть и кастомь шаблона вывода списка. Образно говоря, не товары выводи, а каждое ТП как карточку товара. С переходом на детальную карточку товара, надо смотреть как урл формируется, но в любом случае не так сложно понять на какое ТП ты перешел и убираешь возможность смены ТП и все
Конкретизируй:
- про какой раздел идет речь
- покажи настройки ЧПУ (ИБ и компонент)
- что именно не работает, какой вид ссылки должен быть, а какой получается
Что за битва экстрасенсов?? напрягись немного, если хочешь чтобы тебе помогли.
Игорь, какой умный шторм, действительно useCookieToStoreInfo deprecated, там внутри функции просто return
Этого будет достаточно $city = GeoIp\Manager::getCityName('', 'ru');
GeoIp\Manager::getRealIp() не нужен, этот метод будет вызван, если в getCityName первый параметр - пустая строка.
Все данные записываются в сессию
$_SESSION['BX_GEO_IP']
В этом статическом меню надо было по url раздела прописанным в самом меню, выхватывать элементы инфоблока
Серьезно? Это тебе старший разработчик такую задачу поставил? А если я тупо изменю ЧПУ в инфоблоке, то потом вручную менять в меню? Или наоборот в меню букву добавлю к ссылке, то вся логика сломается. Беги оттуда друг, беги))
По делу.
1. Избавляйся от запросов в цикле
2. Используй Fetch и GetNext, GetNextElement здесь тебе ни к чему
У меня версия 20.0.350 и там все как я описал (у тебя, раз версия ниже чем указано в ддокументации этот параметр работать не будет)
Можешь в файле /bitrix/components/bitrix/catalog.section.list/component.php найти
и заменить на то как в новой версии
ну и к параметрам вызова компонента catalog.section.list добавить
По красивому конечно надо в компонент каталога добавить параметр выбора сортировки и от него передавать в catalog.section.list