Данные БД из расширения

Список разделов phpBBex 2.x (заброшен) Поддержка 2.x

Описание: У вас проблемы с phpBBex 2.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #21 vbnm » 02.08.2016, 15:17

Sumanai, а, сори, это я уже пытался там шоруху навести, забыл привести в изначальный вид )))

Добавлено спустя 45 минут 30 секунд:
Sumanai:Там по моему настроек меньше.
ну пару отсутсвует, приходится вручную прописывать, там Девелопер ты иль кто, а так на месте
Иначе бы и не работало

Добавлено спустя 2 минуты 24 секунды:
vbnm:Sumanai, а, сори, это я уже пытался там шоруху навести, забыл привести в изначальный вид )))
но это не мешает, расширение работает норм, можно выкинуть лишние

- @auth
- @cache
- @config
- @dbal.conn
- @request
- @template
- @user
- %core.root_path%
- %core.php_ext%
- @dispatcher
вродь так по чистому
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #22 Sumanai » 02.08.2016, 17:18

vbnm:но это не мешает
Вообще- то мешает. Просто у тебя листенёр не подписан на события, вот ты и не видишь ошибок. Но они есть.
Я же объяснил как оно работает.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 10 месяцев

Сообщение #23 vbnm » 02.08.2016, 19:49

Sumanai:Просто у тебя листенёр не подписан на события
ну да, событий ядра там нет, о чем и речь, что я не могу догнать, как это организовать
но при этом расширение спокойно пашет, если нам нужны редактировать события шаблона
я тебя и прошу показать, как именно из лиснера сказать "Привет"
в расширении уже есть готовый фаил :
ext\vbnm\mycql\styles\all\template\event\overall_header_navbar_before.html
с
Код: Выделить всё
<div class="responsive-hide">
<?{MY_DATA}?>
   </div>
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #24 vbnm » 03.08.2016, 16:40

Sumanai, без доп. материалов весь твой труд на смарку.
Популизировать нужно, через доходчивый материал с уровнем чайникась.
Ясно, что, если челу надо пусть курит мануал, но вопрос в том, нужны ли юзеры именно этому движку.
Если,- да, то надо точку вхождения снижать. :smoke:
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #25 Sumanai » 03.08.2016, 17:07

Расширения не отличаются в phpBB и phpBBex.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 10 месяцев

Сообщение #26 vbnm » 03.08.2016, 19:41

Sumanai, я в курсе :smoke:
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #27 vbnm » 12.10.2016, 15:51

Sumanai,
конструкция при прямом подключении к БД.
выбираем из таблицы все ники юзеров.
Спойлер
Код: Выделить всё
$result = mysql_query("SELECT * FROM phpbb_users",$link);
$myrow = mysql_fetch_array($result);

do
{
printf ("%s".', ',$myrow['username']);

}
while ($myrow = mysql_fetch_array($result));


mysql_close($link);

как это же повторить в цикле из расширения?
в файле: ext\dvbnm\dmycql\event\listener.php
прописываю:

Спойлер
Код: Выделить всё
public function page_header_after()
   {
      global $db ;
      
      //id последнего сообщения
      $r = 1;
      
      $sql = 'SELECT *
      FROM ' . USERS_TABLE . '';
      $result = $db->sql_query_limit($sql,$r);
      
         while ($row = $db->sql_fetchrow($result))
            {
               $this->template->assign_vars(array(
               'SITE_VBNM'   => ($row['user_browser']),
               'SITE_qwer'   => ($row['username']),
               ));
            }

      $db->sql_freeresult($result);
      
   }
цикл возвращает только одно последнее значение.
Что сделать, чтобы так же как и в первом варианте цикл в этой функции вывел все имена из таблицы БД?
организовать цикл в цикле?
Мне синтаксис пока не понятен.
При прямом подключении такого гемора нет.
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #28 Sumanai » 12.10.2016, 15:59

vbnm:цикл возвращает только одно последнее значение.
Он проходит по всем значениям, но в шаблон записывается последнее, потому что вы использовали простые переменные шаблона, а вам нужно сделать цикл.
То есть
Код: Выделить всё
               $this->template->assign_vars(array(
Заменить на
Код: Выделить всё
               $this->template->assign_block_vars('blockname', array(
И в шаблоне использовать
Код: Выделить всё
<!-- BEGIN blockname -->
    {blockname.SITE_VBNM}
    {blockname.SITE_qwer}
<!-- END blockname -->
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 10 месяцев

Сообщение #29 vbnm » 12.10.2016, 16:05

Sumanai, ага, попробую, тож подумал что надо что-то уже через шаблон решать и пытался использовать лупы:
Код: Выделить всё
<!-- BEGIN loop -->
   markup
<!-- BEGINELSE -->
   markup
<!-- END loop -->
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #30 Sumanai » 12.10.2016, 16:08

vbnm:BEGINELSE
Нужен тогда, когда данных нет. Там можно вывести "Данных нет".
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 10 месяцев

Сообщение #31 vbnm » 12.10.2016, 16:22

Sumanai, ну, дело сдвинулось с мертвой точки в отношении циклов.
хоть немного стало понятно, как это работает: события ядра+события шаблона.
а то я себе уже всю голову поломал, вродь код с тчк пхп рабочий, ан не тут то было - у двига свои нюансы.
vbnm
Автор темы
Репутация: 108
С нами: 11 лет 9 месяцев

Сообщение #32 Sumanai » 12.10.2016, 17:30

vbnm:вродь код с тчк пхп рабочий
Так нерабочий же. Идёт запись в цикле в переменную, и не удивительно, что там остаётся только последнее значение :smile:
Поэтому и нужно использовать запись в массив, и циклом же её отображать.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 10 месяцев

Пред.

Вернуться в Поддержка 2.x