1

Тема: Плагин для работы с mySQL

SIBase добавляет в настройках админки интерфейс для задания параметров соединения с базой mysql посредством хелпера goDB.

После установки плагина и задания правильных настроек коннекта к базе, вы сможете работать в других плагинах монстры с mysql следующим образом:

В админке sibase подцепляется к хуку admin_pre_render, создавая через него неймспейс подключения к базе. Далее в вашем коде вы должны инициализировать новую переменную через этот неймспейс и дальше работать с ней, как с обычным классом.

$db = goDB::getDB("SIDB");
$result = $db->query("SELECT id, url, type, text FROM links WHERE id IN (SELECT linkid FROM users2links WHERE userid=(SELECT id FROM users WHERE jid = '".$user['jabber']."')) AND type = 2 ORDER BY url", null, 'assoc');

в переменной $result мы получаем сразу готовый двумерный массив параметров (задан ключ assoc). Более подробно по работе с goDB написано в справке - http://pyha.ru/go/godb

В фронтэнде нужно вызывать хук dblink. Это сделано потому, что разные плагины имеют свой приоритет и могут быть запущены ранее отработки хука pre_render.

Action::run('dblink');
$db = goDB::getDB("SIDB");

далее всё аналогично.


Ссылка: http://sendfile.su/619414

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

2

Re: Плагин для работы с mySQL

не переходит по ссылке

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

3

Re: Плагин для работы с mySQL

В Monstra 2 в комплект входит https://github.com/j4mie/idiorm

Сайт Awilum

Поделиться

4

Re: Плагин для работы с mySQL

Спасибо

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

5

Re: Плагин для работы с mySQL

А кто знает куда делся El'Drako и где посмотреть на описание встроенных возможностей работы с мускулом?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

6

Re: Плагин для работы с mySQL

никуда я не делся smile
просто не до этого сейчас под конец года.

Более подробно по работе с goDB написано в справке - http://pyha.ru/go/godb

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

7

Re: Плагин для работы с mySQL

Спасибо, а помочь с работой не хочешь? В предложениях работы висит мой вопрос.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

8

Re: Плагин для работы с mySQL

Что такое idiorm?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

9

Re: Плагин для работы с mySQL

idiorm - мини ORM(Object-relational mapping), состоящий из одного файла! Входит в комплект Монстры! Позволяет работать легко и безопасно с MySQL, SQLite

документация https://github.com/j4mie/idiorm

Сайт Awilum

Поделиться

10

Re: Плагин для работы с mySQL

Короче - после установки плагина El'Drako - вылетает админка - белый лист. А с idiorm я к своему стыду пока не могу разобраться- ничего не пойму где нужно ставить require_once 'idiorm.php'; какие дальнейшие действия, наверное моего уровня маловато

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

11

Re: Плагин для работы с mySQL

где нужно ставить require_once 'idiorm.php';

ничего не нужно подобного ставить)

1) идем вот сюда
https://github.com/Awilum/monstra-cms/b … #L112,L117
разкоментируйте те строки и пропишите данные для доступа к вашей БД.

и это все!

использовать просто. примеры приведены в документации
https://github.com/j4mie/idiorm#querying

Сайт Awilum

Поделиться

12

Re: Плагин для работы с mySQL

спасибо буду разбираться

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

13

Re: Плагин для работы с mySQL

Создаю блок

<?php
     $person = ORM::for_table('users')->where('lastname', 'Fred Bloggs')->find_one();
     if ( isset($person)) echo $person;
     else echo "персоны нет";
?>

вставляю шот код в страницу и вижу на ней следующее:

where('lastname', 'Fred Bloggs')->find_one(); if ( isset($person)) echo $person; else echo "персоны нет"; ?> 

такое ощущение, что начиная с where все перестает восприниматься как пхп и соответственно бросается на экран.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

14

Re: Плагин для работы с mySQL

Создаю блок

В блоках нельзя писать php!

для php есть сниппеты

Сайт Awilum

Поделиться

15

Re: Плагин для работы с mySQL

Да уже понял, сделал сниппет пока в таблице пусто или нет Fred Bloggs в столбце lastname - выводит  "персоны нет", если в lastname введен Fred Bloggs то любой вывод и просто $person и $person [password] и $person [1] приводят к сбою всего шаблона. Наверное в массиве $person какая то хитрая организация?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

16

Re: Плагин для работы с mySQL

sergeyterr пишет:

Короче - после установки плагина El'Drako - вылетает админка - белый лист.

из класса goDB
нужно удалить часть, ответственную за отладку - она конфликтует с аналогичной в цмс.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться