Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  Работа с "нормальным" php из модуля плагина

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 03.01.11 14:27:30 #1



Регистрация: 02.01.11
Сообщений: 3


Обратиться по имени

Навеяно темой http://www.amiro.ru/forum/dev/kakoj-api-vyzov-nuzhno-ispolzovat
Хочется просто использовать такие вещи как _POSST, _SESSION, создавать подключения к базам данных средствами mysql_connect ($db_host, $db_user, $db_pass), не задумываясь о подключении дополнительных библиотек вроде ami_env.php и заучивая их матчасть. Есть ли вообще такая возможность в amiro?

Если предметно, то стоит задача написать поиск по таблице, не относящейся к cms, т.е. все го то сотня строк кода. Но для их применения необходимо создать плагин, его зарегистрировать, перековырять кучу конфигурационных файлов и т.д. Не говоря уже о заморочках с получениме идентификаторов коллекций _POSST, _SESSION. Да и чтобы установить значения этих коллекицй, я так понимаю, не просто надо создать форму
<form name='exc_upload' method='post' action='' enctype='multipart/form-data'>
		   Код для поиска:	<input type = 'text' id = 'KOD' name = 'KOD' value='$kod'>
		   <input type = 'submit' id = 'SEARCH' value='Найти'></form>


Заранее спасибо за конструктив.



Добавлено: 04.01.11 11:41:45 #2




Регистрация: 03.07.07
Сообщений: 939


Обратиться по имени

1) Создаем свой скрипт, ничего не подключаем
2) Парсим ini-файл конфигурации БД при помощи стандартных методов PHP
3) Работаем вне контекста CMS

Только такой скрипт внутрь страницы сайта (в контексте CMS) не разместить.

Это же вопрос привычки. Нам проще уже отдельно стоящий скрипт на АПИ Амиро сделать, чем писать все с нуля.



Готовые модули для Амиро - от бесплатных модулей до модулей импорта и геотаргетирования
Более 65 модулей, более 1100 внедрений модулей.
Добавлено: 06.01.11 03:17:45 #3



Регистрация: 08.02.10
Сообщений: 14


Обратиться по имени

А вот что-то не получается чистым php под API работать, приходится явой половину закрывать.



Разработчик как скульптор, из куска камня делает шедевр
Добавлено: 06.01.11 18:22:03 #4



Регистрация: 04.01.11
Сообщений: 7


Обратиться по имени

С саппорта есть кто живой? По телефону не дозвониться, на почту не отвечают... МБ есть добрый человек, который скажет, как из плагина получить элемент коллекции _POST, относящийся к форме того же самого плагина?



Добавлено: 11.01.11 09:54:53 #5

Амиро



Регистрация: 21.03.07
Сообщений: 258


Обратиться по имени
Добавлено: 11.01.11 13:30:47 #6




Регистрация: 03.07.07
Сообщений: 939


Обратиться по имени

Касательно инициализации 2 точек входа и инициализации (http://manual.amiro.ru/api/introduction/obschaja-shema-obektov-api-i):

1. В отдельно стоящем PHP скрипте НУЖНО инициализировать АПИ, например:
$AMI_ENV_SETTINGS = array(
  "response_type" => "JSON",
  "response_buffered" => "false",
);
require 'ami_env.php';


2. В плагине АПИ инициализировать НЕ НУЖНО.


Например, согласно простых примеров, пункт 4.3.1 и 4.3.6:

1. в отдельно стоящем скрипте должно быть:
<?php
require 'ami_env.php';

// Get response object
$oResponse = AMI_Response::getInstance();
$oResponse->start();

// 
// Place your code here
// 

$oResponse->write($res);
$oResponse->send();


2. в плагине:

<?php

// 
// Place your code here
// 

$resultHtml = $res;



Здесь $res - это результат работы вашего кода. А код "Place your code here" может использовать АПИ.



Готовые модули для Амиро - от бесплатных модулей до модулей импорта и геотаргетирования
Более 65 модулей, более 1100 внедрений модулей.
Добавлено: 11.01.11 14:15:50 #7



Регистрация: 04.01.11
Сообщений: 7


Обратиться по имени

Дмитрий Юзжалин,
код "Place your code here" может использовать АПИ


"Place your code here" содержится как в плагине, так и в отдельно стоящем скрипте. Как плагин узнает, в каком именнно отдельно стоящем скрипте я инициализировал АПИ?
Я хочу в плагине отображать данные пользователя, которых в стандартной базе нет, они хранятся в отдельной таблице. Так вот, как мне в моём плагине получить эти данные? хотя это, наверное, в соседнюю тему вопрос.



Добавлено: 12.01.11 16:47:51 #8




Регистрация: 03.07.07
Сообщений: 939


Обратиться по имени

Борис:
"Place your code here" содержится как в плагине, так и в отдельно стоящем скрипте. Как плагин узнает, в каком именнно отдельно стоящем скрипте я инициализировал АПИ?


В плагине АПИ уже инициализировано, ничего делать больше не нужно.


Борис:
Я хочу в плагине отображать данные пользователя, которых в стандартной базе нет, они хранятся в отдельной таблице. Так вот, как мне в моём плагине получить эти данные? хотя это, наверное, в соседнюю тему вопрос.


Нужно создать свою модель данных и работать уже со своей моделью.

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



Готовые модули для Амиро - от бесплатных модулей до модулей импорта и геотаргетирования
Более 65 модулей, более 1100 внедрений модулей.
Добавлено: 11.05.12 09:43:46 #9



Регистрация: 20.09.11
Сообщений: 2


Обратиться по имени

И где можно посмотреть на ваш бесплатный плагин ?





Создать новую тему

Всего тем: 6630
Всего сообщений: 27746
Всего зарегистрированных пользователей: 48912
Последний зарегистрированный пользователь: user33269596