Создание товара в базе Prestashop запросами mysql

Автор Cyrix, 14 октября 2015, 09:53:47

« назад - далее »

mistral

В этом модуле несеколько функций, в том числе и полное удаление каталога.

Cyrix

Цитата: mistral от 19 октября 2015, 14:18:22
В этом модуле несеколько функций, в том числе и полное удаление каталога.

Да, очистка действительно работает, но только как к ней обратиться программно??? Это надо как-то позвонить в этот модуль и в нём в какую-то функцию? А как это сделать?

Adik


Cyrix

Цитата: Adik от 19 октября 2015, 19:19:14
$module = new Module('name_module');
или
$module = Module::getInstanceByName('name_module');

к примеру внутри модуля 'pscleaner' есть публичная функция, которая не требует параметров, она объявлена как
public static function checkAndFix()

Я пытаюсь запустить эту функцию:

$module=new Module('pscleaner');
$module->checkAndFix();


Это будет работать или я что-то не то написал?

coder

Не будет работать. Попробуйте и сами увидите.  Попробывали, если ошибка, смотрите лог ошибок, в нем найдете причину, почему ошибка, в каком файле и в какой строке.

Cyrix

Цитата: coder от 20 октября 2015, 10:22:07
Не будет работать. Попробуйте и сами увидите.  Попробывали, если ошибка, смотрите лог ошибок, в нем найдете причину, почему ошибка, в каком файле и в какой строке.

Так интересно... вот Вы уверены, что работать не будет и тут же мне говорите попробовать это сделать, чтобы я убедился что это не работает. Я на форуме спрашиваю, потому, что не хочу экспериментов. Это как в анекдоте про электриков - мастер ученику говорит - возьмись за этот провод, ученик взялся, мастер:  - о! значит другой провод под напряжением! Я знаю, что

$module=new Module('pscleaner');
$module->checkAndFix();

работать не будет, я спрашиваю как обратиться к функции внутри модуля pscleaner.

coder

Точно как в анекдоте.
У вас вопросы по теме php для начинающих. Тут не prestashop изучать нужно, а синтакс языка программирования.
Как можно что-то объяснить, если человек не знает основ? Как обращаться к методам класса из другого класса, как вызывать статические методы ... это чистый php, его основы.
Откройте любой сайт с уроками по php и посмотрите, тогда не нужно будет эксперементировать.

DarinSr

#82
Для вызова методов классов prestashop можно использовать Context Object
PestaShop Developer tutorials Using the Context Object
Объявление в своем файле
require_once(dirname(__FILE__).'/../../config/config.inc.php');
$context = Context::getContext();


Можно подключить отдельный класс
include_once(dirname(_PS_MODULE_DIR_.'mymodule/mymodule.php');
$mymodule = new MyModule();


Обращение к статическими методам класса

Cyrix

Спросил как обратиться к функции в другом модуле - отправили читать "Война и мир"

А просто сказать:

include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
checkAndFix();

нельзя чтоли? И не говорите, что это работать не будет - проверил, работает!

DarinSr

Цитата: Cyrix от 20 октября 2015, 14:02:52
А просто сказать:

include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
checkAndFix();

нельзя чтоли? И не говорите, что это работать не будет - проверил, работает!

Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.

Cyrix

Цитата: DarinSr от 20 октября 2015, 14:11:06
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
А что тут смешного? А как чтобы смешно не было?


PrestaMan

Цитата: DarinSr от 20 октября 2015, 14:11:06
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
Да ладно вам, пишут еще похуже и продают свои творения.
Человек учится, не модуль на продажу делает.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Cyrix

Цитата: PrestaMan от 20 октября 2015, 14:14:38
Цитата: DarinSr от 20 октября 2015, 14:11:06
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
Да ладно вам, пишут еще похуже и продают свои творения.
Человек учится, не модуль на продажу делает.

Вот это верно! Спасибо!

DarinSr

Цитата: Cyrix от 20 октября 2015, 14:13:13
А что тут смешного? А как чтобы смешно не было?

Цитата: DarinSr от 20 октября 2015, 11:14:29
include_once(dirname(_PS_MODULE_DIR_.'mymodule/mymodule.php');
MyModule::StaticMethod();


Cyrix


include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
pscleaner::checkAndFix();

Так что ли?