UMIhelp

Разработка дополнительного функционала => Разработка модулей => Тема начата: niakriss от 10 Апреля 2013, 10:36:38

Название: вызов метода
Отправлено: niakriss от 10 Апреля 2013, 10:36:38
Подскажите пожалуйста, как можно в отдельном файле php, который я вызываю при нажатии на кнопку визивига, вызвать метод из файла /my_module/class.php

либо как иначе можно сформировать список объектов модуля my_module в этом файле?
Название: Re:вызов метода
Отправлено: Vladimir от 10 Апреля 2013, 13:11:02
<?php
require_once('./standalone.php');

$c = cmsController::getInstance();
$module = $c->getModule('my_module');
$result = $module->имя_метода(парам1, парам2);

?>

Как-то так
Название: Re:вызов метода
Отправлено: Vladimir от 10 Апреля 2013, 13:12:04
Это  если php-файл лежит в корне сайта. Не знаю, что будет с путями в системе, если он не в корне
Название: Re:вызов метода
Отправлено: niakriss от 10 Апреля 2013, 13:35:11
ну да.. с путями беда...
а можно по-подробнее? standalone я так поняла это мой файлик...
а куда весь этот код писать? в class.php? если да, то в какой форме? public function или просто?

и парам1 и парам 2 это что?
Название: Re:вызов метода
Отправлено: niakriss от 10 Апреля 2013, 14:05:17
вроде поняла... сделала.. но result пустой получается... возникает такой вопрос... если в браузере я набираю мой_сайт/udata://my_module/my_method и он мне выдает список в xml формате... то как мне такое проделать в этом файле?
Название: Re:вызов метода
Отправлено: Vladimir от 10 Апреля 2013, 14:57:25
standalone - это системный файл ЮМИ, он в корне и содержит в себе подключение системы. Его следует вызывать в начале вашего файла.

Весь код писать в ваш php-файл в любом виде, как вам удобнее.

парам1 и парам 2  - это параметры, передаваемые в метод

"result пустой получается" - права доступа?

"мой_сайт/udata://my_module/my_method и он мне выдает список в xml формате... то как мне такое проделать в этом файле?" -
Не знаю( Скорее всего, так и запрашивать, вернется тот же xml.
Возможно, еще пригодится http://umi-cms.spb.su/api/101/279/


Название: Re:вызов метода
Отправлено: Vladimir от 10 Апреля 2013, 14:59:17
а в таком случае...  зачем вам внешний php? Почему не вызывать методы ЮМИ напрямую?
Название: Re:вызов метода
Отправлено: niakriss от 10 Апреля 2013, 15:38:43
у меня плагин для визивига... там вызывается этот файлик при нажатии на кнопку этого плагина... и появляется форма... в этой форме должен быть список объектов моего модуля, которые я могу выбрать и добавить. а плагин в правильном хтмл добавит их в визивиг.
так как вы посоветовали не получается((( он не находит файла /classes/modules/my_module/class.php (((
Название: Re:вызов метода
Отправлено: admin от 20 Мая 2013, 15:10:23
у меня плагин для визивига... там вызывается этот файлик при нажатии на кнопку этого плагина... и появляется форма... в этой форме должен быть список объектов моего модуля, которые я могу выбрать и добавить. а плагин в правильном хтмл добавит их в визивиг.
так как вы посоветовали не получается((( он не находит файла /classes/modules/my_module/class.php (((

Если вы пишете плагин для tinyMCE, то вы скорее всего знакомы с принципом его работы, все формы и функциональность кнопок задается при помощи js кода. То есть вам в этом js и надо достучаться до вашего макроса, а там вполне должен подойти стандартный способ типа ajax запросов

Или я не верно понял вашу задачу?