[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод контента по шаблону
cyberside

$tpl_file = $_SERVER["DOCUMENT_ROOT"] .'/templates/'. $this->Config['SYSTEM']['template'] .'/' . $tpl . '.tpl';
$blocks = $this->MySQL->Select("SELECT * FROM blocks LIMIT 1");
if(!empty($blocks['id'])){
$blocks = $this->MySQL->Query("SELECT * FROM blocks");
$template = file_get_contents($tpl_file);
while($block = mysql_fetch_assoc($blocks)){
$macros['{title}'] = $block['title_'.$this->Language()];
$macros['{content}'] = $block['content_'.$this->Language()];

foreach($macros as $key=>$value){
$template = str_replace("{$key}", $value, $template);
}
}

return $template;
}


Получается что возвращает 1 строку из таблицы.
Необходимо вывести все блоки...



Спустя 4 минуты, 1 секунда (12.04.2012 - 11:02) SoMeOnE написал(а):
cyberside
LIMIT 1 убери

Спустя 1 минута, 36 секунд (12.04.2012 - 11:03) cyberside написал(а):
SoMeOnE, если присмотреться, можно понять, что LIMIT 1 стоит там где идет проверка на наличие блоков в таблице и роли не играет в следующем шаге.

Спустя 5 минут, 38 секунд (12.04.2012 - 11:09) Winston написал(а):
$blocks = $this->MySQL->Query("SELECT * FROM blocks");
echo mysql_num_rows($blocks);

Может у тебя там и есть 1 строка?

Спустя 1 минута, 10 секунд (12.04.2012 - 11:10) cyberside написал(а):
Winston, там 2 строки...

Спустя 1 минута, 33 секунды (12.04.2012 - 11:12) Winston написал(а):
А так?
Свернутый текст
$tpl_file = $_SERVER["DOCUMENT_ROOT"] .'/templates/'. $this->Config['SYSTEM']['template'] .'/' . $tpl . '.tpl';
$blocks = $this->MySQL->Select("SELECT * FROM blocks LIMIT 1");
if(!empty($blocks['id'])){
mysql_free_result($blocks);
$blocks = $this->MySQL->Query("SELECT * FROM blocks");
$template = file_get_contents($tpl_file);
while($block = mysql_fetch_assoc($blocks)){
$macros['{title}'] = $block['title_'.$this->Language()];
$macros['{content}'] = $block['content_'.$this->Language()];

foreach($macros as $key=>$value){
$template = str_replace("{$key}", $value, $template);
}
}

return $template;
}

Спустя 4 минуты, 37 секунд (12.04.2012 - 11:16) cyberside написал(а):
Warning: mysql_free_result() expects parameter 1 to be resource, array given

Спустя 15 минут, 36 секунд (12.04.2012 - 11:32) Winston написал(а):
Ну тогда, можно попробовать так сделать
Свернутый текст
$tpl_file = $_SERVER["DOCUMENT_ROOT"] .'/templates/'. $this->Config['SYSTEM']['template'] .'/' . $tpl . '.tpl';
$blocks = $this->MySQL->Query("SELECT * FROM blocks LIMIT 1");
$bl = mysql_fetch_assoc($blocks);
if(!empty($bl['id'])){
mysql_free_result($blocks);
$blocks = $this->MySQL->Query("SELECT * FROM blocks");
$template = file_get_contents($tpl_file);
while($block = mysql_fetch_assoc($blocks)){
$macros['{title}'] = $block['title_'.$this->Language()];
$macros['{content}'] = $block['content_'.$this->Language()];

foreach($macros as $key=>$value){
$template = str_replace("{$key}", $value, $template);
}
}

return $template;
}

Спустя 4 минуты, 47 секунд (12.04.2012 - 11:37) cyberside написал(а):
Ничего не изменилось, выводится один. Как и ранее (

Спустя 56 минут, 39 секунд (12.04.2012 - 12:33) cyberside написал(а):
^
|

Спустя 19 минут (12.04.2012 - 12:52) SoMeOnE написал(а):
Ты в самом phpmyadmine выполни команду, посмотри 2 строки выбираются.

Спустя 12 минут, 9 секунд (12.04.2012 - 13:05) Nikitian написал(а):

$tpl_file = $_SERVER["DOCUMENT_ROOT"] .'/templates/'. $this->Config['SYSTEM']['template'] .'/' . $tpl . '.tpl';
$blocks = $this->MySQL->Select("SELECT * FROM blocks LIMIT 1");
if(!empty($blocks['id'])){
$blocks = $this->MySQL->Query("SELECT * FROM blocks");
$template = file_get_contents($tpl_file);
$template_dest='';
while($block = mysql_fetch_assoc($blocks)){
$macros['{title}'] = $block['title_'.$this->Language()];
$macros['{content}'] = $block['content_'.$this->Language()];
$tmp = $template;
foreach($macros as $key=>$value){
$tmp= str_replace("{$key}", $value, $tmp);
}
$template_dest.=$tmp;
}
return $template_dest;
}

Спустя 3 минуты, 16 секунд (12.04.2012 - 13:08) cyberside написал(а):
SoMeOnE, 2

Спустя 2 минуты, 8 секунд (12.04.2012 - 13:10) cyberside написал(а):
Nikitian, я пошел темже методом, но немного не доработал... Держи плюс!

Спустя 42 минуты, 34 секунды (12.04.2012 - 13:53) Nikitian написал(а):
А ещё можно использовать smarty и значительно сократить и упростить код, вынести логику вывода полностью в шаблон.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.