Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-01-16 14:49:07

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

вывод результатов из MySQL на главную

салам!

На главной странице сайта отображается статика (стоит плагин). В статике переменные ads_pro и top_news. Нужно похожим образом вывести несколько элементов из таблицы MySQL. Впринципе это реализуемо через ads_pro php кодом, но в таком случае там засветятся логин и пароль к базе. Плагин написать который на отдельной странице всё будет выводить - нет проблем, но мне нужно потом это вывести блоком на главной - которая статика. Как зарегистрировать результаты плагина в переменную допустим {abc1} и вывести её на главной? Или можно проще?

Не в сети

#2 2012-01-16 14:52:47

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: вывод результатов из MySQL на главную

$template['vars']['abc1'] = 'text';

Не в сети

#3 2012-01-16 18:17:00

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вывод результатов из MySQL на главную

всмысле вот эта связка?

class PluginStaticFilter extends StaticFilter {
        function showStatic($staticID, $SQLnstatic, &$tvars) {
 
        // ВАШ КОД
        $tvars['vars']['test'] = $*;
        }
}
 
register_filter('static','test', new PluginStaticFilter);

что такое $staticID, $SQLnstatic?
staticID понятно, я через phpMyAdmin могу узнать

но что-то у меня неполучается.
что ещё надо добавить.
в плагине .tpl ненужен?

Не в сети

#4 2012-01-16 19:09:11

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: вывод результатов из MySQL на главную

$staticID - ID статической страницы.
$SQLnstatic - массив, соответствующий строке из таблицы _static

Должно работать. Возможно в файле versin плагина с списке действий не указана статика: Acts: static

Не в сети

#5 2012-01-16 20:06:06

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вывод результатов из MySQL на главную

да, заработало/ спасибо.

<?php
global $twig, $template, $SYSTEM_FLAGS, $mysql;
$query = 'SELECT * FROM '.prefix.'_hot ORDER BY id DESC';
		foreach ($mysql->select($query) as $row) {
            $mass []= array(
            'id' => $row['id'],
            'text' => $row['text'],
			'cd1' => $row['cd1'],
			'cd2' => $row['cd2'],
			        );
}

$u="321";

class PluginStaticFilter extends StaticFilter {

    function showStatic($staticID, $SQLnstatic, &$tvars) {
			
        $tvars['vars']['test'] = $u;
        }
}
 
register_filter('static','test', new PluginStaticFilter);
?>

фишка в том что внутри класса, я как понял, mysql запрос неработает. как передать в класс массив и как его правильно вывести?
мне нужно вывести все ячейки "text" заключив каждую в <div class="cl">
т.е. десять записей - 10 дивов.

Не в сети

#6 2012-01-16 20:33:08

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: вывод результатов из MySQL на главную

Ты же в функции showStatic не объявил

global $mysql;

Не в сети

#7 2012-01-16 20:48:48

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вывод результатов из MySQL на главную

ога, понял

$tvars['vars']['test'] = $*;
только как через эту функцию вывести все $mass['text'];
их надо както разбить или переписать?

Не в сети

#8 2012-01-16 21:04:19

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: вывод результатов из MySQL на главную

Зачем тебе $mass, тут же в цикле

foreach ($mysql->select($query) as $row) { $tvars['vars']['test'] .= $row['text']; }

Это обычное склеивание, я ж не знаю в каком виде тебе нужен вывод smile

Не в сети

#9 2012-01-16 21:15:52

fedor-jan
Участник
Откуда на раёне
Зарегистрирован: 2011-09-04
Сообщений: 79
Рейтинг :   

Re: вывод результатов из MySQL на главную

спасибо! решил так:

$tvars['vars']['test'] .= "<div>".$row['text']."</div>";

Не в сети

Подвал раздела

Работает на FluxBB