<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Цикл foreach в tpl файлах
25.06.2013 11:23:26 Цикл foreach в tpl файлах Сообщение #1
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

Михаил,вот как я пробую вывести цикл по вашему шаблонизатору

В пхп делаю так:


$template = new Template("template/";
$header = array(
$url = '/'.$categoryUrl.'/'.$myrow['url'],
$title = $myrow['title'],
$img = $myrow['img'],
$content = cutStr($str, 100),
);
$template->set("header", $header);
$template->display("header";


А в tpl так:

<?php foreach ($this->header as $header) => $name) { ?>
<li><div class="top-str-img"><a href="<?=$url?>">
<img src="/preview/<?=$img?>" width="96" height="50" title="<?=$title?>" alt="<?=$title?>"></a></div>
<div class="top-text"><a href="<?=$url?>" title="<?=$title?>"><?=$content?></a></div></li>
<?php } ?>


Немогли бы вы объяснить как вывести этот цикл? По такому методу данные не выводятся.В пхп изменял массив по разному,и как у вас,и по другому,и не в какую.

В tpl пробовал еще так $this->$title,но всеравно не работает.
Профиль Ответить
25.06.2013 12:34:38 Цикл foreach в tpl файлах Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

<?php foreach ($this->header as $header) => $name) { ?> - здесь скобка лишняя.
Профиль Ответить
25.06.2013 12:46:41 Цикл foreach в tpl файлах Сообщение #3
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

Это я сюда случайно с ошибкой вставил

А вообще делаю так

?php foreach ($this->header as $header => $name) { ?>

Просто пробывал делать так

<?php foreach ($this->header as $header(array('url','title','content','img')) => $name) { ?>

И когда сюда вставлял, забыл скобку убрать.

И получается все что в tpl выводится нормально,html код который в цикле выводится циклом,но данные не выводятся.
Профиль Ответить
25.06.2013 15:23:56 Цикл foreach в tpl файлах Сообщение #4
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

А может быть проблема с подключением к БД?

У меня щас так

$myrow_select = mysql_query("SELECT данные FROM таблица ",$db);

while( $myrow = mysql_fetch_array( $myrow_select))


Если сделать так

$myrow_select = $DB->mysql_query("SELECT данные FROM таблица ",$db);

while( $myrow = $DB->mysql_fetch_array( $myrow_select))


Или нет разницы?А то я уже незнаю в какую сторону смотреть.
Профиль Ответить
25.06.2013 16:17:38 Цикл foreach в tpl файлах Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Поэтому я и давал ссылку на http://myrusakov.ru/php-finderror.html - убедитесь для начала, что из базы данные вообще приходят.
Профиль Ответить
25.06.2013 16:47:59 Цикл foreach в tpl файлах Сообщение #6
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

Если б дело в этом было,я б такие вопросы не задавал.Данные приходят,они не приходят если я использую щаблонизатор.

Поэтому я и спрашивал про переменные в цикле foreach.Какой то этот цикл вообще странный и не понятный.

Если используются в цикле эти переменные $header=>$name.

То если к примеру вместо <?=$img?> поставить <?=$name?> то изображение отобразится,но только одно вместо четырех,как дожно быть по циклу.

просто я не пойму если в цикле переменные $header=>$name.

То откуда появится переменная <?=$title?>,<?=$url?>

Хотя по сути они содержаться в массиве $header. но тем не мение ничего не выводится.Ошибок в переменных или синтаксических быть не может.

Про БД я имелл ввиду что может нужно так $myrow_select = $DB->mysql_query

А не так $myrow_select = mysql_query
Профиль Ответить
25.06.2013 18:27:53 Цикл foreach в tpl файлах Сообщение #7
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

В массиве $header всего 4 элемента, которые можно перебрать через обычный for. А обращаться к массиву нужно по индексу.
Профиль Ответить
26.06.2013 07:59:29 Цикл foreach в tpl файлах Сообщение #8
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

Через for тоже не работает. А без цикла работает все нормально.

Обращался я и по индексу и по всякому....

О прогресс,вывелись данные.Но они повторяются.

Т.е. выводится 4 блока в цикле,и все данные в них одни и теже.Вот бы еще сделать чтоб они выводились правильно.
Профиль Ответить
26.06.2013 17:40:59 Цикл foreach в tpl файлах Сообщение #9
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Сделайте print_r($header) и посмотрите, сколько там элементов и какие они.
Профиль Ответить
27.06.2013 04:24:24 Цикл foreach в tpl файлах Сообщение #10
Dima

Dima

Новичок

Новичок

Дата регистрации:
09.02.2013 02:25:26

Сообщений: 8

Делал через print_r.

Выводит одни и теже данные.

Если в массиве Вася, Петя, Саша, Маша.

То выводит 4 раза Вася.Как массив не перекручивай,ничего не помогает
Профиль Ответить