Автор Тема: Создание товара в базе Prestashop запросами mysql  (Прочитано 14377 раз)

19 Октябрь 2015, 14:18:22
Ответ #75
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В этом модуле несеколько функций, в том числе и полное удаление каталога.
19 Октябрь 2015, 14:38:29
Ответ #76
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В этом модуле несеколько функций, в том числе и полное удаление каталога.

Да, очистка действительно работает, но только как к ней обратиться программно??? Это надо как-то позвонить в этот модуль и в нём в какую-то функцию? А как это сделать?
19 Октябрь 2015, 19:19:14
Ответ #77
  • Ветеран
  • *****
  • Сообщений: 16676
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
$module = new Module('name_module');или
$module = Module::getInstanceByName('name_module');
19 Октябрь 2015, 21:42:31
Ответ #78
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$module = new Module('name_module');или
$module = Module::getInstanceByName('name_module');

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

Я пытаюсь запустить эту функцию:
$module=new Module('pscleaner');
$module->checkAndFix();

Это будет работать или я что-то не то написал?
20 Октябрь 2015, 10:22:07
Ответ #79
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Не будет работать. Попробуйте и сами увидите.  Попробывали, если ошибка, смотрите лог ошибок, в нем найдете причину, почему ошибка, в каком файле и в какой строке.
20 Октябрь 2015, 10:31:11
Ответ #80
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не будет работать. Попробуйте и сами увидите.  Попробывали, если ошибка, смотрите лог ошибок, в нем найдете причину, почему ошибка, в каком файле и в какой строке.

Так интересно... вот Вы уверены, что работать не будет и тут же мне говорите попробовать это сделать, чтобы я убедился что это не работает. Я на форуме спрашиваю, потому, что не хочу экспериментов. Это как в анекдоте про электриков - мастер ученику говорит - возьмись за этот провод, ученик взялся, мастер:  - о! значит другой провод под напряжением! Я знаю, что
$module=new Module('pscleaner');
$module->checkAndFix();
работать не будет, я спрашиваю как обратиться к функции внутри модуля pscleaner.
20 Октябрь 2015, 10:36:16
Ответ #81
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
Точно как в анекдоте.
У вас вопросы по теме php для начинающих. Тут не prestashop изучать нужно, а синтакс языка программирования.
Как можно что-то объяснить, если человек не знает основ? Как обращаться к методам класса из другого класса, как вызывать статические методы ... это чистый php, его основы.
Откройте любой сайт с уроками по php и посмотрите, тогда не нужно будет эксперементировать.
20 Октябрь 2015, 11:14:29
Ответ #82
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для вызова методов классов 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();

Обращение к статическими методам класса
20 Октябрь 2015, 14:02:52
Ответ #83
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спросил как обратиться к функции в другом модуле - отправили читать "Война и мир"

А просто сказать:
include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
checkAndFix();
нельзя чтоли? И не говорите, что это работать не будет - проверил, работает!
20 Октябрь 2015, 14:11:06
Ответ #84
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А просто сказать:
include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
checkAndFix();
нельзя чтоли? И не говорите, что это работать не будет - проверил, работает!

Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
20 Октябрь 2015, 14:13:13
Ответ #85
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
А что тут смешного? А как чтобы смешно не было?

20 Октябрь 2015, 14:14:38
Ответ #86
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
Да ладно вам, пишут еще похуже и продают свои творения.
Человек учится, не модуль на продажу делает.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
20 Октябрь 2015, 14:15:21
Ответ #87
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нельзя, засмеют. Может и работает. Но такого ни один нормальный программист не посоветывает.
Да ладно вам, пишут еще похуже и продают свои творения.
Человек учится, не модуль на продажу делает.

Вот это верно! Спасибо!
20 Октябрь 2015, 14:19:09
Ответ #88
  • Ветеран
  • *****
  • Сообщений: 86694
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А что тут смешного? А как чтобы смешно не было?

include_once(dirname(_PS_MODULE_DIR_.'mymodule/mymodule.php');
MyModule::StaticMethod();
20 Октябрь 2015, 14:23:54
Ответ #89
  • Пользователь
  • **
  • Сообщений: 92
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
include_once('../../../home/192.168.1.45/www/modules/pscleaner/pscleaner.php');
pscleaner::checkAndFix();
Так что ли?