Добрый день!
Подскажите, пожалуйста, как карту с пунктами самовывоза (http://demo.cs-cart.ru/stores/60875/index.php?dispatch=pickup.view) добавить на любую другую страницу (но только без текста с описанием пунктов)?
[quote name=‘Rust’ timestamp=‘1438842278’ post=‘225820’]
Добрый день!
Подскажите, пожалуйста, как карту с пунктами самовывоза (http://demo.cs-cart…tch=pickup.view) добавить на любую другую страницу (но только без текста с описанием пунктов)?
[/quote]
К сожалению, в стандартной функциональности так не получится, нужно будет модифицировать код модуля или делать свой модуль.
В принципе, идея не плохая, я могу рассказать как и добавить в новую версию, если получится, однако только на следующей неделе, на понедельник-вторник договоримся?
[quote name='dbazhenov' timestamp='1438846671' post='225831']
К сожалению, в стандартной функциональности так не получится, нужно будет модифицировать код модуля или делать свой модуль.
В принципе, идея не плохая, я могу рассказать как и добавить в новую версию, если получится, однако только на следующей неделе, на понедельник-вторник договоримся?
[/quote] Хорошо, спасибо!
[quote name=‘Rust’ timestamp=‘1438850379’ post=‘225844’]
Хорошо, спасибо!
[/quote]
Всё оказалось довольно просто, будет делать с помощью модуля “Мои изменения”.
- Расширим схему блоков, чтобы создать новый блок, создаём файл:
/app/addons/my_changes/schemas/block_manager/blocks.post.php
Пилим туда код:
[CODE]
$schema['my_pickup_block'] = array (
'content' => array (
'store_locations' => array (
'type' => 'function',
'function' => array('fn_my_pickup_block_get_locations'),
),
),
'templates' => array (
'addons/my_changes/blocks/map.tpl' => array(),
),
'wrappers' => 'blocks/wrappers',
'cache' => array(
'update_handlers' => array(
'store_locations', 'store_location_descriptions'
)
)
);
return $schema;
[/CODE]
2. Создадим функцию, которая будет получать пункты самовывоза, чтобы отрисовывать их в блоке, для этого создадим файл:
/app/addons/my_changes/func.php
Туда пилим код:
[CODE]
<?php
function fn_my_pickup_block_get_locations()
{
$params = [];
list($store_locations, $search) = fn_get_store_locations($params);
foreach ($store_locations as $key => $value) {
if (!isset($value['pickup_avail']) || $value['pickup_avail'] != 'Y') {
unset($store_locations[$key]);
}
}
return !empty($store_locations) ? array($store_locations) : false;
}
[/CODE]
3. Создадим шаблон который будет отрисовываться в блоке, для этого создадим файл:
/design/themes/responsive/templates/addons/my_changes/blocks/map.tpl
Туда код:
[CODE]
{** block-description:my_map_block **}
{assign var="map_provider" value=$addons.store_locator.map_provider}
{assign var="map_provider_api" value="`$map_provider`_map_api"}
{assign var="map_container" value="map_canvas"}
{if $map_provider == 'yandex'}
{if $store_locations}
{include file="addons/rus_pickup/views/pickup/components/maps/yandex.tpl"}
{else}
{__("no_data")}
{/if}
{/if}
[/CODE]
4. Устанавливаем и включаем модуль "Мои изменения".
5. Проходим на страницу "Дизайн - Макеты" и добавляем в любое место блок "_block_my_pickup_block" .
6. Проходим на страницу Языки - Переводы и добавляем новую языковую переменную "block_my_pickup_block" с названием блока.
Всё. У меня результат выглядит так:
[attachment=10027:Выделение_064.png]
Всё что я сделал уже описано на YouTube канале в плейлисте "Разработка: PHP" и "Разработка: Дизайн и шаблоны" .
Спасибо.
Добрый день!
Все делаю, как описано выше и выдает такую ошибку:
PHP Parse Error Message
syntax error, unexpected '['
Error at
app/addons/armi/func.php, line: 4
Backtrace
Добрый день!
Все делаю, как описано выше и выдает такую ошибку:
PHP Parse Error Message
syntax error, unexpected '['
Error at
app/addons/armi/func.php, line: 4
Backtrace
2й пункт
попробуйте так
<?php
function fn_my_pickup_block_get_locations()
{
$params = "";
2й пункт
попробуйте так
<?php
function fn_my_pickup_block_get_locations()
{
$params = "";
К сожалению, не помогло. Вылезли другие ошибки...
Описанный способ добавления карты рабочий.
Проверьте возможно у вас есть незакрытая скобка, из-за чего и возникает ошибка.
Описанный способ добавления карты рабочий.
Проверьте возможно у вас есть незакрытая скобка, из-за чего и возникает ошибка.
Спасибо за ответ, но как написано, я делаю в точности так. Все скобки на месте.
К сожалению, не помогло. Вылезли другие ошибки...
Скажите, какие ошибки. По тексту же понятнее куда копать