Jump to content

  • You cannot start a new topic
  • You cannot reply to this topic

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

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 26 February 2015 - 11:24 AM #1

Любые вопросы по созданию модулей, контроллерам, хукам, php, smarty, html, css и так далее.

Постараемся ответить.

Рекомендую, первоначально ознакомиться с видеоинструкциями:
Разработка PHP:
https://www.youtube....PTL-outH4wEMJQW
Модификация шаблонов:
https://www.youtube....6_PXM_S2xRDVrKa

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • GPK1929
  • Member
  • Trial users
  • Join Date: 18-Feb 15
  • 19 posts

Posted 26 February 2015 - 02:10 PM #2

Подскажите где контроллер и вид админки (control-panel.php) просто в url нет подсказок.

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 26 February 2015 - 02:30 PM #3

Подскажите где контроллер и вид админки (control-panel.php) просто в url нет подсказок.


index.php
index.tpl

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 801 posts

Posted 27 February 2015 - 12:26 PM #4

Подскажите, как вытащить значение из произвольного поля таблицы cscart_products в шаблон?

Например, выгружаю из 1С в "1c_code" дополнительное поле (создано мной), хочу заменить артикул на значение этого поля.

Редактирую /public_html/design/backend/templates/views/products/manage.tpl

		<div class="product-code">
			<span class="product-code-label row-status">{__("sku")} </span>
			<input type="text" name="products_data[{$product.product_id}][1c_code]" size="15" maxlength="32" value="{$product.1c_code}" class="input-hidden span2" />
		</div>

image1.png

Не срабатывает ... почему?

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 27 February 2015 - 12:39 PM #5

Подскажите, как вытащить значение из произвольного поля таблицы cscart_products в шаблон?

Например, выгружаю из 1С в "1c_code" дополнительное поле (создано мной), хочу заменить артикул на значение этого поля.

Редактирую /public_html/design/backend/templates/views/products/manage.tpl

		<div class="product-code">
			<span class="product-code-label row-status">{__("sku")} </span>
			<input type="text" name="products_data[{$product.product_id}][1c_code]" size="15" maxlength="32" value="{$product.1c_code}" class="input-hidden span2" />
		</div>

image1.png

Не срабатывает ... почему?


Каким образом выгружаете из 1С?

Тут логика немножко другая. Зачем выгружать из 1С в какой то свой 1c_code , если можно сразу в product_code выгружать?

В базе данных значение для поля есть?

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 801 posts

Posted 27 February 2015 - 01:01 PM #6

Выгружаю специальной обработкой под 1С. Да, значения в базе есть.

Зачем выгружать из 1С в какой то свой 1c_code , если можно сразу в product_code выгружать?

Я и выгружаю сразу в product_code, но мне еще нужен доп. параметр. Хочу видеть уникальный код (загрузил в product_code) и артикул (загрузил в 1c_code) . В разных местах админки нужен то один то другой параметр. Когда принимаю заказ - код для заказа уникальный, когда заказываю товар поставщику - артикул.

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 27 February 2015 - 01:05 PM #7

Выгружаю специальной обработкой под 1С. Да, значения в базе есть.


Если в таблицу products добавляете то должен отображаться. Кэш очистите.

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

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 27 February 2015 - 03:29 PM #8

Выгружаю специальной обработкой под 1С. Да, значения в базе есть.


Снял. Вот в этом плейлисте. Полный процесс создания новой настройки товара с помощью модуля в видео с 16-19 . Вам в принципе будет достаточно 18 и 19.

https://www.youtube....PTL-outH4wEMJQW

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 801 posts

Posted 01 March 2015 - 09:44 AM #9

Даниил, спасибо! Наконец то стали ясны причины, по которым не отображались данные.

Формат, в котором Вы делитесь информацией - отлично подобран и понятен.

 
  • Saboteur
  • Member
  • Members
  • Join Date: 31-Dec 08
  • 801 posts

Posted 01 March 2015 - 10:18 AM #10

Вопрос, где лежит шаблон счета ?dispatch=orders.print_invoice& ?

Правильно ли я понимаю, что для администратора(бэкенд) и покупателя(фронтенд) эти счета обрабатываются по разному?

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 02 March 2015 - 07:45 AM #11

Вопрос, где лежит шаблон счета ?dispatch=orders.print_invoice& ?

Правильно ли я понимаю, что для администратора(бэкенд) и покупателя(фронтенд) эти счета обрабатываются по разному?


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

Шаблоны писем лежат:
- Админка
design/backend/mail

- Витрина
design/themes/[название_темы]/mail

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 02 March 2015 - 07:51 AM #12

Вопрос, где лежит шаблон счета ?dispatch=orders.print_invoice& ?

Правильно ли я понимаю, что для администратора(бэкенд) и покупателя(фронтенд) эти счета обрабатываются по разному?


Контроллер вызывает функцию fn_print_order_invoices

Если вы откроете данную функцию в файле app/functions/fn.cart.php

То увидите вызываемый шаблон из папки Mail:
        if ($pdf == true) {
            fn_disable_live_editor_mode();
            $html[] = $view->displayMail('orders/print_invoice.tpl', false, $area, $order_info['company_id'], $lang_code);
        } else {
            $view->displayMail('orders/print_invoice.tpl', true, $area, $order_info['company_id'], $lang_code);
            if ($order_id != end($order_ids)) {
                echo("<div style='page-break-before: always;'>&nbsp;</div>");
            }
        }

Есть ещё ситуация, когда отправляются письмо по email .

Тогда используется класс Mailer . Пример можно посмотреть в модуле "Конструктор форм"

Файл:
app/addons/form_builder/func.php


                    Mailer::sendMail(array(
                        'to' => $page_data['form']['general'][FORM_RECIPIENT],
                        'from' => $from,
                        'reply_to' => $sender,
                        'data' => array(
                            'max_length' => $max_length,
                            'elements' => $page_data['form']['elements'],
                            'form_title' => $page_data['page'],
                            'form_values' => $form_values,
                        ),
                        'attachments' => $attachments,
                        'tpl' => 'addons/form_builder/form.tpl',
                        'is_html' => $is_html
                    ), 'A');

Здесь вы тоже увидите шаблон который будет отправлен, а также 'A' в конце значит, что шаблон будет взят из зоны администратора 'design/backend/mail'

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • antibura
  • Member
  • Trial users
  • Join Date: 20-Oct 14
  • 40 posts

Posted 02 March 2015 - 08:50 AM #13

Хотим реализовать возможность задавать seo_name для значений списочных типов характеристик (Список - Число и Список - Текст), наподобие, как это сделано для типа Бренд/Производитель. Есть ли какое-то простое решение?

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 02 March 2015 - 11:17 AM #14

Хотим реализовать возможность задавать seo_name для значений списочных типов характеристик (Список - Число и Список - Текст), наподобие, как это сделано для типа Бренд/Производитель. Есть ли какое-то простое решение?


Немного не понял. Пример страницы дайте для наглядности.

Я видел модуль seo имен для результатов работы фильтра.

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • antibura
  • Member
  • Trial users
  • Join Date: 20-Oct 14
  • 40 posts

Posted 02 March 2015 - 11:53 AM #15

Немного не понял. Пример страницы дайте для наглядности.

Я видел модуль seo имен для результатов работы фильтра.

Примера пока нет. В свойствах характеристики с типом "Бренд/Производитель" для каждого из вариантов мы можем задать изображение, описание, ссылку на сайт и seo-url. Нам бы хотелось распространить такую возможность (задавать и редактировать Seo-url вручную) для значений типов характеристик "Выпадающий список - Число" и "Выпадающий список - Текст".

Я говорю о значениях, записываемых в таблицу cscart_seo_names с типом E.

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 02 March 2015 - 12:03 PM #16

Примера пока нет. В свойствах характеристики с типом "Бренд/Производитель" для каждого из вариантов мы можем задать изображение, описание, ссылку на сайт и seo-url. Нам бы хотелось распространить такую возможность (задавать и редактировать Seo-url вручную) для значений типов характеристик "Выпадающий список - Число" и "Выпадающий список - Текст".

Я говорю о значениях, записываемых в таблицу cscart_seo_names с типом E.


Ну для вариантов характеристики с типом E , есть отдельная страница для каждого варианта, там и используется SEO имя.

Проще для всех нужных характеристик использовать тип E , так как только для неё есть отдельная страница.

Есть так же страница со списком вариантов, она соответствует фильтру по какой то харакетристике (странице Бренды)

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • Alexder
  • Junior Member
  • Members
  • Join Date: 08-Apr 10
  • 147 posts

Posted 03 March 2015 - 07:19 AM #17

Подскажите, как добавить в настройки "Антибот (captcha) еще один пункт для раздела "Использовать для"?

Я добавил запись в таблицу cscart_settings_objects, все значения ввел по аналогии с другими пунктами, в name написал "use_for_call_requests".
В нужном шаблоне добавил:
{include file="common/image_verification.tpl" option="use_for_call_requests"}

В нужном контроллере прописал условие:
if (fn_image_verification('use_for_call_requests', $_REQUEST) == false) {

}   

Но каптча не появляется, что упускаю?

 
  • dbazhenov
  • Senior Member
  • Administrators
  • Join Date: 15-May 12
  • 6,438 posts

Posted 03 March 2015 - 08:10 AM #18

Подскажите, как добавить в настройки "Антибот (captcha) еще один пункт для раздела "Использовать для"?
Но каптча не появляется, что упускаю?


Посмотрю.

На форуме отдыхаю, общаюсь и кодирую для удовольствия.

Баженов Даниил (www.dbazhenov.ru)


 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 15,723 posts

Posted 03 March 2015 - 08:37 AM #19

Подскажите, как добавить в настройки "Антибот (captcha) еще один пункт для раздела "Использовать для"?

Я добавил запись в таблицу cscart_settings_objects, все значения ввел по аналогии с другими пунктами, в name написал "use_for_call_requests".
В нужном шаблоне добавил:

{include file="common/image_verification.tpl" option="use_for_call_requests"}

В нужном контроллере прописал условие:
if (fn_image_verification('use_for_call_requests', $_REQUEST) == false) {

}  

Но каптча не появляется, что упускаю?


Должно работать. Добавьте в шаблон следущий код и посмотрите, есть ли в отображаемом массиве ваша настройка

{$settings.Image_verification|fn_print_r}

P.S. Если капчу заполнили ранее (например, при заходе на сайт), она может не отображаться.
GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration

Certified CS-Cart RU Developer | Сертифицированный разработчик на CS-Cart Русская Версия

 
  • Alexder
  • Junior Member
  • Members
  • Join Date: 08-Apr 10
  • 147 posts

Posted 03 March 2015 - 08:59 AM #20

P.S. Если капчу заполнили ранее (например, при заходе на сайт), она может не отображаться.

Спасибо! Именно в этом проблема оказалась, до этого один раз ввел верно и она больше не появлялась.