Писал похожий компонент, но для последних просмотренных товаров (товары добавляются по мере просмотра, каждый просмотр вытесняет первый элемент, если превышен лимит показываемых товаров). Можно хранить ид сессии в куки, дальше смотреть отличаются ли текущий ид и хранящийся в куки. Если отличаются - выводить товары, ид которых где-то тоже хранить (либо в базе, либо в куки).
Промахнулся с названием компонента, system.auth.authorize /bitrix/components/bitrix/system.auth.authorize/templates/ скопируйте папку .default /bitrix/templates/шаблонсайта/components/bitrix/system.auth.authorize/
Только ещё с фильтром "!PROPERTY_MAP"=>false + Подставлять $arResult['MAP_DATA'] в моем сообщении от 29.05.2011 17:22:31 в параметры компонента (что я и предлагал сначала, а не в шаблоне править). $arResult у меня написано потому, что точки из инфоблока собираются в одном компоненте, а в его шаблоне подключается уже map.google.view
При такой реализации придется дорабатывать учет различных факторов, влияющих на цену, например, скидок, и писать функции для поддержки актуальности корзины
$arResult['MAP_DATA'] = serialize(
array(
'google_lat' => $arParams['LAT'], //широта центра карты
'google_lon' => $arParams['LON'], //долгота центра карты
'google_scale' => $arParams['MAP_SCALE'], //начальный масштаб
'PLACEMARKS' => $arCoordinatesForMap //координаты
)
);
$arCoordinatesForMap - должен быть массив вида:
Код
array(
array(
'TEXT' => "Текст точки 1 (можно html)",
'LON' => долгота точки 1,
'LAT' => широта точки 1
),
array(
'TEXT' => "Текст точки 2 (можно html)",
'LON' => долгота точки 2,
'LAT' => широта точки 2
)
)
Это массив должен формироваться из list($long, $lang) [хотя мне больше нравится функция explode] + на всякий случай нужно учесть нахождение двух точек в одном и том же месте (сливать поля TEXT)
Не очень понятен вопрос..Данные о метке хранятся в базе так же, как и все остальные свойства. Конкретно, как координаты: строкой ширина;долгота (или наоборот) . Остальные данные формируются и указываются в компоненте (начальная точка, тип карты, элементы управления). Непосредственно отображнием занимается google maps на основе указанных координат.
Как вариант с помощью SKU. Основной инфоблок – информация о товаре, второй инфоблок — три «модификации» товара. Пользователю дать возможность покупать по всем 3 типам цен. У каждой модифификации задается только один тип цены.
В цикле выводите в select нужном виде предложения (то от чего у вас цена зависит: размер и т.д.)
Код
<select>
<?foreach($arResult["OFFERS"] as $arOffer) {?>
<option value="<?=$arOffer['ID']?>"> <?=$arOffer[...]?></option>
<?}?>
</select>
Потом в таком же цикле выводите цены
Код
<?foreach($arResult["OFFERS"] as $arOffer) {?>
<div id="price_<?=$arOffer['ID']?>" style="display:none;">
Тут цены
</div>
<?}?>
Вешаете javaScript событие onchange при выборе, определяете что было выбрано и показываете соответствующий div, меняя у него свойство display Так же на javaScript нужно подменять поля, которые кладутся в корзину
разместить компонент на отдельной странице с подключением только служебной части пролога и вставлять в div новостей через AJAX. Полезной будет функция $APPLICATION->RestartBuffer();
Для "системного" шаблона вашего компонента языковой путь будет выглядеть так: /bitrix/components/[пространство_имен]/[имя_компонента]/templates/[имя_шаблона_компонента]/lang/[код_языка]/template.php
Для скопированного так: /bitrix/templates/[шаблон_сайта|.default]/components/[пространство_имен]/[имя_компонента]/[имя_шаблона_компонента]/lang/[код_языка]/template.php Где код языка, например = ru Языковые файлы подключаются автоматически