Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Цикл всего шаблона???

Цикл всего шаблона???


     30.04.2014    цикл, while, template, api    Все вопросы » Общие вопросы    3092

вопрос
Привет друзья. Есть код:

Ответил: Sander


<?php
/*
=====================================================
Модуль как попало создал: ONE and Twelvee
=====================================================
Файл: teamsd2t.php
=====================================================
Данный код не защищен авторскими правами
=====================================================
*/

if(!defined('DATALIFEENGINE')) die("Hacking attempt!"); // чтоб нИкто не позарился... !!! как можно нИкто писать через Е ??
include ('engine/api/api.class.php');
if (!$teamsd2t) {
    $sql = $db->query( "SELECT * FROM " . PREFIX . "_teams ORDER BY id");
    $list = "";
    while($row = $db->get_row($sql)){
        $list .=<<<HTML
    <tr>
        <td>{$row['teamname']}</td>
        <td>{$row['win']}</td>
        <td>{$row['newin']}</td>
        <td>{$row['sovsemnewin']}</td>
    </tr>
HTML;
    }
    if(!$list) $list = "<tr><td colspan='4'><center>Записей не обнаружено</center></td></tr>";
    $tpl->load_Template( "teamlist.tpl" );
    $tpl->set('{list}', $list);
    $tpl->compile('content');
    $tpl->clear();
}

?>


<table class="table table-hover" style="width:100%;">
<thead>
<tr>
    <td style="background-color:#fd7c7c;width:600px;">Название тимы</td>
        <td style="background-color:#a77cfd;">Побед</td>
        <td style="background-color:#7ce9fd;">Ничьих</td>
        <td style="background-color:#fdda7c;">Поражений</td>
  </tr>
</thead>
<tbody>{list}</tbody>
</table>

10 комментариев

ПафНутиЙ
Админ

ПафНутиЙ - 30 апреля 2014 21:33 -

Попробуйте делать модуль по этой инструкции
да и API class вам не нужен, если подключаете модуль через include

Каков вопрос - таков и ответ. Просто помните об этом.

Twelvee
Юзер

Twelvee - 1 мая 2014 08:59 -

Нет, модуль подключаю не через include. В Вашей инструкции описывается именно модуль-блок.
Мне все же хотелось узнать) Где же ошибочка то?) Вроде не циклю весь шаблон, а он циклится...

ПафНутиЙ
Админ

ПафНутиЙ - 1 мая 2014 09:17 -

if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } // чтоб некто не позарился...
include ('engine/api/api.class.php');
if (!$teamsd2t) {
    $tpl->load_template( "teamlist.tpl" );
    $sql = $db->super_query( "SELECT * FROM " . PREFIX . "_teams ORDER BY id", true);
    if ($sql) {
        foreach ($sql as $item) {
           $tpl->set('{teamname}', $row['teamname']);
                $tpl->set('{win}', $row['win']);
           $tpl->set('{newin}', $row['newin']);
           $tpl->set('{sovsemnewin}', $row['sovsemnewin']);
           $tpl->compile('content');        
        }
    } else {
        echo 'ОШИБКААА';
    }
    $tpl->clear();
}


а так?

Каков вопрос - таков и ответ. Просто помните об этом.

Twelvee
Юзер

Twelvee - 1 мая 2014 09:37 -


Как то так получилось, разницы нет впринципе.
Еще код изменил чутка, т.к. foreach

Sander
PHP-developer

Sander - 1 мая 2014 11:44 -


На лицо полное непонимание принципов работы с шаблоном.
Вот скажите мне, откуда скрипт узнает, что в цикле надо брать только кусок шаблона (обведен рамкой)?
Вы же подключаете весь шаблон, всю таблицу. Вот она и дублируется с каждым циклом.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Twelvee
Юзер

Twelvee - 1 мая 2014 11:55 -

Это мой первый скрипт на dle. Именно для этого я и обращаюсь к Вам! Sander, Подскажите, что необходимо изменить?

Twelvee
Юзер

Twelvee - 1 мая 2014 15:54 -

Тему клоз. Разобрался

locksmith
Юзер

locksmith - 13 октября 2014 20:09 -

У меня откзывается работать если я прописываю переменной <<<HTML - а если просто в кавычках все проставляю то работает. Что я делаю не так?

locksmith
Юзер

locksmith - 14 октября 2014 04:27 -

Пишет синтактическую ошибку после строки HTML;

locksmith
Юзер

locksmith - 14 октября 2014 04:41 -

Разобрался!!! HTML; должен быть в начале строки. без пробелов и табуляции

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх