Smarty + массивы

Статус
В этой теме нельзя размещать новые ответы.

nmDimas2

Постоялец
Регистрация
20 Апр 2010
Сообщения
78
Реакции
13
Люди помогите весь вечер провтыкал и толком нечего не сделал смысл такой
с бд выводим массив
в нем содержится название ссылки и сама ссылка грубо говоря
а на сайте надо чтоб все ссылки выстроились в столбец
все это черес систему smarty
в пхп файле пишу массив
Код:
	$link= mysql_query('select * from links;');
		while($t = mysql_fetch_array($link)){
		      $arr[] = $t[name] ; 
		      $arr[]=$t[title];	
		}
$arr_meta_tags['news'] = $arr;
$news_tpl = $smarty->fetch("news.tpl");
$smarty->assign('blok_news',$news_tpl);
а в самом news.tpl и бок выходит
не знаю как вывести два значения
типа чтоб было так
Код:
 {foreach from=$news item=new}
 	<div style="font-size:12px;padding-bottom:16px;">
    <a href="{$new.name}">{$new.title}</a>
     </div>
 {/foreach}
 
похоже проблема тут
$arr[] = $t[name] ;
$arr[]=$t[title];
тут name каждый второй элемент массива $arr, а надо name и title вложить в массив и вприсвоить его к arr
PHP:
$arr[] = array('name' => $t[name], 'title' => $t[title]);
//или если лишнее в $t не мешает
$arr[] = $t;
 
И еще судя по твоему коду ты нигде не делаешь $smarty->assign('news',$arr);
 
Все я делаю и все я сделал это элементарное .
Если его не водить то вопще ничего не будет а у меня значения показывались но не так как надо

щас тестю и смотрю
Кстати возник вопрос
например у меня есть контент {$content} которое размещается между двума боковыми блоками в центре как и обычно
так вот как сделать чтоб контент был динамический то есть например если заходит человек на сайт то там например добро пожаловать на сайт нажал там например подробнее на этом месте используется уже другой шаблон а именно для вывода подробного материала?
 
nmDimas2
способ 1 ( простой и примитивный )

создаешь 3 файла
первый - header.tpl - в котором пишешь что-то типа

PHP:
<head> 
  ...
  .... 
</head>
<body>
второй - footer.tpl
PHP:
<div class="futer"> 
   .........
</div>
</body>

ну а третий - уже сам шаблон ... в котором будет что-то типа

PHP:
{include file="header.tpl"}

<div class="content"> 
{*  нужный код  *}
</div>

{include file="footer.tpl"}

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