Вопросы по разработке и модификации CS-Cart

Тоже очень жду ответа на свой вопрос, присоединяюсь

Так там ответили, что в коробе этого не предусмотрено. Варианта два - купить сторонний модуль или перелопачивать меню. Первое дешевле и быстрее, второе - затратнее

Сам шаблон меню можете найти тут

design/themes/ТЕМА/templates/blocks/topmenu_dropdown.tpl

Всем доброго вечера!
Такой вопрос. Пишу небольшое дополнение расширяющее импорт товаров. В настройки импорта добавляю checkbox:

$schema['options']['some_id'] = array(
        'title' => 'some_text',
        'description' => 'some_text',
        'type' => 'checkbox',
        'import_only' => true,
        'position' => 800,
    );

Поле появляется в настройках импорта во вкладке Файл->Дополнительные настройки. А мне нужно чтобы эта настройка была во вкладке Настройки->Общие настройки

В общем как поместить сюда новую опцию?

Заранее Огромное Спасибо! )

попробуйте добавить

'section' => 'general',

Неа, не помогло ).
В файле app/schemas/exim/products.php

Есть опция:
‘reset_inventory’ => array(
‘title’ => ‘reset_quantity_to_zero’,
‘description’ => ‘reset_quantity_to_zero_tooltip’,
‘type’ => ‘checkbox’,
‘import_only’ => true,
‘position’ => 800,
),

И она стоит как раз в нужном мне месте ). В шаблонах нигде не может быть это прописано?

В шаблоне идет разделение по ключу section. Надо разбираться, откуда он берется

В products.php в массиве $schema есть ключ ‘section’;

Но он имеет значение
'section' => 'products',

Видимо именно по ключу ‘reset_inventory’ он ставится в нужное место, потому что если изменить ключ, он переместится в первую секцию. У кого-нибудь есть возможность найти в коде где встречается ‘reset_inventory’? Может так удастся выявить место )

Вот тут посмотрите, как tab задается через схему
app/addons/advanced_import/schemas/exim/products.post.php

В точку! Огромное спасибо, помогло

$schema['options']['some_option']['tab'] = 'settings';
1 лайк

Как найти где лежит объявление функции fn_get_company_id_by_name? Кто знает, дайте наводочку, пожалуйста. И нет ли какой-нибудь аналогичной функции для определения id поставщика по названию, или дергать запросом из базы?

по этому вопросу отыскал ). Лежит в файле /app/functions/fn.companies.php

Второй вопрос актуален. Есть ли какая-нибудь функция, чтобы получить ID поставщика по его названию?

1 лайк

Нашел ))
$supplier_id = db_get_field(“SELECT supplier_id FROM ?:suppliers WHERE name = ?s”, $supplier_name);

1 лайк

Добрый день! Подскажите где можно прочитать про http://converter.cart-services.com/
Какие на вход параметры, какая должна быть страница отсылаемая ну и т.д.

4.13.1 не будет обрезать названия товаров в панели администратора.

1 лайк

4.13.1 не будет обрезать названия товаров в панели администратора.

Нужно расширить условие промо-акций, показать товары только со скидкой. Создал схему и функцию по видео уроку, но ничего не отображается. Выбираю созданное условие, на страницу товары не приходят. Если добавляю дополнительное условие по цене например, то на странице товары появляются, но мое условие все равно не срабатывает. Почему моя функция не срабатывает, что нужно возвращать в функции?

$schema[‘conditions’][‘discount’] = array(
‘type’ => ‘statement’,
‘field_function’ => array(‘fn_is_discount’, ‘@product’),
‘zones’ => array(‘catalog’)
);

return $schema;

function fn_is_discount($product) {
fn_print_r($product[‘list_price’]);
if(!empty($product[‘list_price’]) && $product[‘list_price’] != ‘0’) {
return true;
}
return false;
}

Требуеться в модуле бренды сделать по аналогии как тут:
image
с вариантами выбора.
Т.е. я хочу ДОБАВИТЬ в настройку брендов закладку “Контент” с вариантами “Заполенение”.
Какие варианты заполнения сам решу.
Но не понимаю, как корректно добавить эту настройку.
Код даже сверил с баннерами, сделал по аналогии. Но не пашет…
При попытке открыть блок в макте:

В логах сервсера пишет:
PHP Warning: Illegal string offset ‘items’ in /app/controllers/backend/block_manager.post.php on line 635
PHP Fatal error: Uncaught Error: Cannot use string offset as an array
app/controllers/backend/block_manager.post.php:635\nStack trace:\n#0

Что я делаю не так? Этой схемы достаточно или не хватает чего либо?

$schema['our_brands'] = array (
    'content' => array(
    'items' => array(
    'remove_indent' => true,
    'hide_label' => true,
    'type' => 'enum',
    'object' => 'our_brands',
    'items_function' => 'fn_get_all_brands',
    'fillings' => array (
             'fill_variant_one' => array (
                'params' => array (
                    'status' => 'A',
                    'sort_by' => 'popularity',
                    'sort_order' => 'desc',
                    'sort_popular' => true,
                    'only_active_objects' => true,
                ),
                'settings' => array(
                    'limit' => array (
                        'type' => 'input',
                        'default_value' => 50
                    )
                )
            )
        ),
    )
),
'blocks/our_brands.tpl' => array (
    'settings' => array(
        'not_scroll_automatically' => array (
            'type' => 'checkbox',
            'default_value' => 'N'
        ),
        'scroll_per_page' =>  array (
            'type' => 'checkbox',
            'default_value' => 'N'
        ),
        'speed' =>  array (
            'type' => 'input',
            'default_value' => 400
        ),
        'pause_delay' =>  array (
            'type' => 'input',
            'default_value' => 3
        ),
        'item_quantity' =>  array (
            'type' => 'input',
            'default_value' => 6
        ),
        'thumbnail_width' =>  array (
            'type' => 'input',
            'default_value' => 50
        ),
        'outside_navigation' => array (
            'type' => 'checkbox',
            'default_value' => 'Y'
        )
    ),
),
'wrappers' => 'blocks/wrappers',
'cache' => array(
        'update_handlers' => array(
            'product_features',
            'product_features_descriptions',
            'product_features_values',
            'product_feature_variants',
            'product_feature_variant_descriptions',
            'images_links'
        )
),

);
//fn_print_r($schema);
return $schema;

Возможно ли сделать зависимость появления “Контент”(скрыто/показать) от варианта шаблона ввыбранного в закладке “Общее”?

Как получить все сохранённые настройки блока, для определённого tpl шаблона, который используется в схеме на витрине?

Если в самом шаблоне, то распечатайте в нем $block