Блок с картой пунктов самовывоза

Добрый день!

Подскажите, пожалуйста, как карту с пунктами самовывоза (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]



Всё оказалось довольно просто, будет делать с помощью модуля “Мои изменения”.


  1. Расширим схему блоков, чтобы создать новый блок, создаём файл:

    /app/addons/my_changes/schemas/block_manager/blocks.post.php



    Пилим туда код:

[CODE]

<?php
$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" и "Разработка: Дизайн и шаблоны" .

Спасибо.

Выделение_064.png

Добрый день!

Все делаю, как описано выше и выдает такую ошибку:

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 = "";

К сожалению, не помогло. Вылезли другие ошибки...

Описанный способ добавления карты рабочий.

Проверьте возможно у вас есть незакрытая скобка, из-за чего и возникает ошибка.

Описанный способ добавления карты рабочий.

Проверьте возможно у вас есть незакрытая скобка, из-за чего и возникает ошибка.

Спасибо за ответ, но как написано, я делаю в точности так. Все скобки на месте.

К сожалению, не помогло. Вылезли другие ошибки...

Скажите, какие ошибки. По тексту же понятнее куда копать