В init.php можем написать функцию и повесить ее на событие добавления нового товара - OnProductAdd . Но несмотря на логичность действия этот вариант не сработает - при добавлении нового товара единица измерения еще к нему не добавлена и поэтому результат работы функции CCatalogMeasureRatio::GetList будет пустой.
Функция возврата окончания слова при склонении Можно положить в init.php Функция в ядре Битрикса:
use Bitrix\Main\Grid\Declension;
$productDeclension = new Declension('товар', 'товара', 'товаров');
$sReview = $productDeclension->get($count);
Или самописка:
if(!function_exists('BITGetDeclNum'))
{
/**
* Возврат окончания слова при склонении
* Функция возвращает окончание слова, в зависимости от примененного к ней числа
* Например: 5 товаров, 1 товар, 3 товара
* @param int $value - число, к которому необходимо применить склонение
* @param array $status - массив возможных окончаний
* @return mixed
*/
function BITGetDeclNum($value=1, $status= array('','а','ов')) {
$array =array(2,0,1,1,1,2);
return $status[($value%100>4 && $value%100<20)? 2 : $array[($value%10<5)?$value%10:5]];
}
}
В шаблоне можно использовать обычный текст. Использовать специальные конструкции в фигурных скобках, внутри нужно сначала писать знак равно, пример {=this.Name}. Есть зарезервированные слова: this — текущий элемент. Пример: {=this.Code} — символьный код элемента. parent — родительская секция. Пример: {=parent.PreviewText} — анонсовый текст родительского раздела
Прежде всего немного воды. В функционал Битрикса широко внедрены карты (яндекс и гугл). Они довольно просто настраиваются есть функционал, который доступен простому (неподготовленному, не программисту) пользователю позволяющий решить задачи в рамках несложных потребностей. Но вот поступает задача более широкого плана, в частности: вывести элементы относящиеся к разным категориям, т.е. как-то должны сортироваться, кроме этого элементы (точки на карте) должны фильтроваться по разным параметрам, причем этих параметров довольно много и на финише