powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В шаблоне Smarty вывести 2 секции с ассоциативным массивом
13 сообщений из 13, страница 1 из 1
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37744970
Здравствуйте! Нужна помощь новичку!
Нужна помощь с выводом многомерного массива в шаблон
Код: php
1.
2.
3.
4.
5.
6.
7.
<?php
$arr[0] = array('id' => '0', 'title' => 'Заголовок0', 'desc' => 'Описание0', 'price' => '300');
$arr[1] = array('id' => '1', 'title' => 'Заголовок1', 'desc' => 'Описание1', 'price' => '300');
$arr[2] = array('id' => '2', 'title' => 'Заголовок2', 'desc' => 'Описание2', 'price' => '300');
$arr[3] = array('id' => '3', 'title' => 'Заголовок3', 'desc' => 'Описание3', 'price' => '300');
...
?>



В шаблоне Smarty tpl нужно выводить в 2х секциях по 10 элементов:
Код: html
1.
2.
3.
     <ul class="attr">
		<li><span class="niceCheck" onclick="changeCheck(this.id)" id="niceCheckbox{$arr.id}" rel="{$arr.desc}"><input type="checkbox" id="choise{$arr.id}" class="clickChecked" name="choise[]" value="{$arr.price}" /> <label  for="choise[{$arr.id}]">{$arr.title}</label></span></li>
  	</ul>



и далее вторая секция с 10ю элементами, выводится таким же образом

Код: html
1.
2.
3.
     <ul class="attr">
		<li><span class="niceCheck" onclick="changeCheck(this.id)" id="niceCheckbox{$arr.id}" rel="{$arr.desc}"><input type="checkbox" id="choise{$arr.id}" class="clickChecked" name="choise[]" value="{$arr.price}" /> <label  for="choise[{$arr.id}]">{$arr.title}</label></span></li>
  	</ul>



Модератор: Теги для выделения кода SRC, а не html или php
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37744973
Как организовать такой цикл, помогите пожалуйста!
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37745149
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав WEB,

Код: html
1.
{section name=i loop=$arr max=10}



Код: php
1.
{section name=i loop=$arr max=10 start=10}
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37745419
Спасибо, это я понял что section нужно, а в шаблоне как?
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37745487
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав WEB,

Код: php
1.
<li><span class="niceCheck" onclick="changeCheck(this.id)" id="niceCheckbox{$arr[i].id}" .....


и все в таком виде
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37745694
РенатСтанислав WEB,

Код: php
1.
<li><span class="niceCheck" onclick="changeCheck(this.id)" id="niceCheckbox{$arr[i].id}" .....


и все в таком виде


Спасибо огромное. то что мне нужно!
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37747443
А в таком варианте как правильно вывести значения вложенных к ключ js - ключей ?
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$scriptPath = array(
                    'js' => array(
                                    'js1' => '<script src="'.LIVE_URL.'/templates/js/jquery.min-1.7.1.js"></script>',
                                    'js2' => '<script src="'.LIVE_URL.'/templates/js/setup.js"></script>',    
                                    'js3' => '<script src="'.LIVE_URL.'/templates/js/ajax.form.js"></script>',   
                                    'js4' => '<script src="'.LIVE_URL.'/templates/js/validate.js"></script>'  
                                ),
                    'css' => array(
                                    'css1' => '<link rel="stylesheet" href="'.LIVE_URL.'/templates/css/main.css" type="text/css" />', 
                                    'css2' => '<link rel="stylesheet" href="'.LIVE_URL.'/templates/css/validate.css" type="text/css" />')
                    );
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37747446
Делаю таким образом
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
{foreach from=$script key=k item=links }
    {if $smarty.const.SENDMAIL eq 'true'}
    {foreach from=$links key=type item=linkname }  
        {$linkname.js}
    {/foreach}         
    {else}
    {foreach from=$links key=type item=linkname }  
        {$linkname}
    {/foreach}       
    {/if}
{/foreach}



но выводит знаки "<<<<<<"

в $script - передаю этот массив
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37747456
Станислав WEBДелаю таким образом
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
{foreach from=$script key=k item=links }
    {if $smarty.const.SENDMAIL eq 'true'}
    {foreach from=$links key=type item=linkname }  
        {$linkname.js}
    {/foreach}         
    {else}
    {foreach from=$links key=type item=linkname }  
        {$linkname}
    {/foreach}       
    {/if}
{/foreach}



но выводит знаки "<<<<<<"

в $script - передаю этот массив

P.S Вопрос по первому условию. Второе выводит все значения вложенного массива
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37748013
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав WEB,

логики не вижу, два фореача, в послднем фреаче у вас к примеру $linkname = '<script src="'.LIVE_URL.'/templates/js/validate.js"></script>'. Вопрос, что за элемент js вы хотите найти в строке? PHP интепрретирует строку как массив сичмволов, и поэтому ключ js преобразовав в 0 выводит вам первый символ строки что есть треуголььная скобка. а вам что надо:?
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37748061
Ренат, мне необходимо вывести значения всех ключей, вложенного массива js. То есть, теги
Код: html
1.
<script src="'.LIVE_URL.'/templates/js/jquery.min-1.7.1.js"></script>
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37748090
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав WEB,

зачем вы сами себе усложняете жизнь.
кто мешает передать в шаблоны готовые простым массивы
Код: php
1.
2.
$tpl->assign('jss', $scriptPath['js']);
$tpl->assign('css', $scriptPath['css']);



а в шаблоне простыми циклами отрисовать.

проще надо быть
...
Рейтинг: 0 / 0
В шаблоне Smarty вывести 2 секции с ассоциативным массивом
    #37748126
r u, просто я впервые работаю с шаблонизаторами и не додумался до такого :D . Но на ошибках учатся. Спасибо больше, дальше я понял как!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В шаблоне Smarty вывести 2 секции с ассоциативным массивом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]