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

Например, Я создал поле в таблице main_category_name, что значит "название главной категории товара". Так значительно проще ориентироваться в списке товаров

Например, Я создал поле в таблице main_category_name, что значит "название главной категории товара". Так значительно проще ориентироваться в списке товаров

В какой таблице было создано поле?

Оно не создано, оно вычисляется по формуле php

Ребят, простите за вопрос глупый...

У нас SEO-отдел требует, чтобы заголовки

в себе никаких классов и вложенных span'ов не содержали. На главной, в блоге, в категориях товаров, в карточках я все это дело почистил. Но вот на созданных контентных страницах («Контакты», «О заводе» и прочие) не могу убрать из заголовка «class="ty-mainbox-title"». Помогите справиться, пожалуйста!

Сайт временно доступен по адресу litbor.ru

Спасибо!

Оно не создано, оно вычисляется по формуле php

Код надо смотреть, не совсем понятна задача

Ребят, простите за вопрос глупый...

У нас SEO-отдел требует, чтобы заголовки

в себе никаких классов и вложенных span'ов не содержали. На главной, в блоге, в категориях товаров, в карточках я все это дело почистил. Но вот на созданных контентных страницах («Контакты», «О заводе» и прочие) не могу убрать из заголовка «class="ty-mainbox-title"». Помогите справиться, пожалуйста!

Сайт временно доступен по адресу litbor.ru

Спасибо!

Все оболочки для блоков и основного контента лежат в папке

design/themes/ВАША_ТЕМА/templates/blocks/wrappers/

Если у кастомной темы есть модули, то может еще быть такой путь с доп. оболочками

design/themes/ВАША_ТЕМА/templates/addons/МОДУЛЬ/blocks/wrappers/

Все оболочки для блоков и основного контента лежат в папке

design/themes/ВАША_ТЕМА/templates/blocks/wrappers/

Если у кастомной темы есть модули, то может еще быть такой путь с доп. оболочками

design/themes/ВАША_ТЕМА/templates/addons/МОДУЛЬ/blocks/wrappers/

Используется тема Responsive theme: Russian_theme.

В первой папке все вычищено, классы убиты, где необходимо.

А вот вторых путей не обнаружил, папок «wrappers», вроде, нигде больше нет... Уже и не знаю, где хвосты искать...

UPD.: Вопрос снят. Сам напортачил. Визуальный редактор, видимо, сам проставил классы. Спасибо всем за помощь, не повторяйте моих ошибок!

Здравствуйте.

Возник такой вопрос:

Наткнулся на несколько похожих массивов

$_SESSION['customer_loc']
$_REQUEST['customer_location']

Для чего они? Ведь есть же большой массив с данными пользователя:

$_SESSION['cart']['user_data']

В видео уроке "Режим разработчика" говориться, что в папке Мой_сайт/var/themes_repository/responsive/templates/addons хранятся модули, которые можно установить на своем сайте.

Есть, например, предустановленный модуль "Мои изменения" ("My changes"). В этой папке нет этого модуля! Подумал, может быть поэтому после его удаления с сайта я не смогу его вновь установить. Проверил. Удалил....Ха-ха! Этот модуль доступен для повторной установки! Так в какой-же папке он храниться? Видео урок устарел?

Попутно скажу, что попробовал изменить название модуля в файле "my_changes.po" из папки Мой_сайт/var/langs/ru/addons и название меняется, но только в резервной копии модуля, расположение которой я не могу найти. (т.е. название модуля меняется только после повторной его установки).

Подскажите, пожалуйста, где храниться резервная копия этого модуля?

Здравствуйте.

Возник такой вопрос:

Наткнулся на несколько похожих массивов

$_SESSION['customer_loc']
$_REQUEST['customer_location']

Для чего они? Ведь есть же большой массив с данными пользователя:

$_SESSION['cart']['user_data']

В $_SESSION['customer_loc'] хранится информация о текущей локализации, она не имеет прямого отношения к $_SESSION['cart']['user_data']

Кроме того, $_SESSION['cart']['user_data'] почти пустой, если пользователь зашел на сайт, но только бродит по нему, ничего не добавляя в корзину.

А вот $_SESSION['customer_loc'] может определить язык и валюту, которая отображается для этого конкретного покупателя

В видео уроке "Режим разработчика" говориться, что в папке Мой_сайт/var/themes_repository/responsive/templates/addons хранятся модули, которые можно установить на своем сайте.

Есть, например, предустановленный модуль "Мои изменения" ("My changes"). В этой папке нет этого модуля! Подумал, может быть поэтому после его удаления с сайта я не смогу его вновь установить. Проверил. Удалил....Ха-ха! Этот модуль доступен для повторной установки! Так в какой-же папке он храниться? Видео урок устарел?

Попутно скажу, что попробовал изменить название модуля в файле "my_changes.po" из папки Мой_сайт/var/langs/ru/addons и название меняется, но только в резервной копии модуля, расположение которой я не могу найти. (т.е. название модуля меняется только после повторной его установки).

Подскажите, пожалуйста, где храниться резервная копия этого модуля?

В папке Мой_сайт/var/themes_repository/responsive/templates/addons хранятся только шаблоны, которые используются модулями для отображения чего-либо в клиентской части. Далеко не все модули что-нибудь отображают в клиентской части, в частности, стандартный модуль "Мои изменения" - это только заготовка, он вообще ничего не делает. Предусмотрен для того, чтобы вы могли быстро что-то смое добавить.

Чтобы модуль вообще исчез из списка в админке, нужно удалить папку app/addons/my_changes (для модуля "Мои изменения").

Резервные копии шаблонов хранятся на тот случай, если сработал режим удаления шаблонов клиентской части при удалении (де-инсталляции) модуля. Шаблоны удалялись, насколько я помню, в 3 версии. В 4 с этим не сталкивалась, они не удаляются, следовательно, из резеврные копии не столь уж и нужны. Есть только один момент, когда они действительно должны там лежать - это при первой установке новой темы.

Что касается файла .po - значения языковых переменных, которые там хранятся, подгружаются ТОЛЬКО в момент установки модуля. Т.е. если вы там поменяли название этого модуля, а модуль уже был до этого установлен, то его надо удалить (из админки, не файлы), а потом опять установить

Не получилось найти. Подскажите, пожалуйста, какой редактор используется для редактирования файлов (кода системы)? Тот редактор, что мы видим в видео уроках?

Не получилось найти. Подскажите, пожалуйста, какой редактор используется для редактирования файлов (кода системы)? Тот редактор, что мы видим в видео уроках?

Встроенный редактор позволяет редактировать только файлы, которые находятся в папке design/themes/[your_theme]. Если нужно редактировать .php файлы, лучше зайти на сервер по фтп и редактировать там. На худой конец, любая панель управления сайтом (на хостинге) позволяет просматривать и редактировать все файлы

Резервные копии шаблонов хранятся на тот случай, если сработал режим удаления шаблонов клиентской части при удалении (де-инсталляции) модуля. Шаблоны удалялись, насколько я помню, в 3 версии. В 4 с этим не сталкивалась, они не удаляются, следовательно, из резеврные копии не столь уж и нужны. Есть только один момент, когда они действительно должны там лежать - это при первой установке новой темы.

Немного не так, шаблоны не удаляются, если включен DEVELOPMENT мод, т.е. определена эта константа (например, есть такие строки в config.local.php):

//Uncomment to enable error reporting.
//define('DEVELOPMENT', true);

По умолчанию шаблоны удалятся из активной темы, а при перестановке модуля они соберутся из папки var/themes_repository

Оно не создано, оно вычисляется по формуле php

Если вычисляется в php файле, то корректно отсортировать не получится. Сортировка ведь касается не только расположения элементов в полученном массиве данных, но и разбиение на страницы, если данных очень много.

Возможно, лучше-таки добавить это поле в products и задействовать хуки в fn_get_products

В $_SESSION['customer_loc'] хранится информация о текущей локализации, она не имеет прямого отношения к $_SESSION['cart']['user_data']

Кроме того, $_SESSION['cart']['user_data'] почти пустой, если пользователь зашел на сайт, но только бродит по нему, ничего не добавляя в корзину.

А вот $_SESSION['customer_loc'] может определить язык и валюту, которая отображается для этого конкретного покупателя

Спасибо! Попытаюсь разобраться во всем этом.

Вообще, у меня задача передать данные в поля профиля пользователя при оформлении заказа или регистрации.

Что имеем:

В шаблоне profile_fields переменная $user_data должна содержать данные о пользователе. В нее данные передает контроллер checkout.checkout, но в контроллере два источника данных о пользователе: $cart['user_data'] - здесь все понятно это данные если пользователь авторизирован, а вот что $_user_data это видимо если пользователь не авторизован, но откуда она берет данные? Следы теряются в функции fn_restore_post_data .

Если кратко, то мне нужно $_user_data подставить данные из сессии (страну и город), которые уже определены, сохранены в сессии в массиве $_SESSION['cart']['user_data'] или в $_SESSION['customer_loc'] даже не знаю куда лучше.

Вот совсем я потеря цепочку к $_user_data

$_user_data - это просто "временное" хранилище для данных, которые ввел покупатель-гость. Извлекается из сессии, куда накануне было записано. Это сделано для того, чтобы переходе туда-сюда по странице оформления заказа или вообще уходе гостя на другие страницы, не приходилось заново все вбивать.

В шаблон передается в конечном итоге в виде {$user_data} - либо данные гостя, либо из $cart['user_data'], смотря по ситуации.

Из $_SESSION['cart']['user_data'] в контроллере checkout автоматом все переходит в $cart['user_data']

А если нужно передать данные именно в профиль, может, будет лучше создать новое поле профиля в админке?

Если кратко, то мне нужно $_user_data подставить данные из сессии (страну и город), которые уже определены, сохранены в сессии в массиве $_SESSION['cart']['user_data'] или в $_SESSION['customer_loc'] даже не знаю куда лучше.

Вы можете описать не путь реализации, а саму задачу? Так мы вас быстрее сориентируем.

Вы можете описать не путь реализации, а саму задачу? Так мы вас быстрее сориентируем.

Задача при оформлении заказа подставить в поле "город" значение определенного города.

А если нужно передать данные именно в профиль, может, будет лучше создать новое поле профиля в админке?

Нет, не в профиль, а в поле при оформлении.

Нет, не в профиль, а в поле при оформлении.

Не в профиль, а анфас ;)

Поля, которые расположены на 2 шаге оформления заказа, и есть поля из "Поля профиля".

Пожалуй, лучше в таком случае подставлять и в $cart['user_data']['b_country'], и в $_user_data['b_country']

Пожалуй, лучше в таком случае подставлять и в $cart['user_data']['b_country'], и в $_user_data['b_country']

$cart['user_data']['b_country'] - я так понял это в данные сессии $_SESSION['cart']['user_data'] доступные на всех страницах, а как добраться до $_user_data['b_country'] это тоже должны быть данные сесии.