Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [templates] Разделение шаблона на 2 части 
V
    Опции темы
xoslv
Дата 16.1.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



У меня есть шаблон:
Код

<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<!--// Begin Names of colums /-->
  <tr>
    <th scope="col" class="sp_td">{name}</th>
    <th scope="col" class="sp_td">{sname}</th>
    <th scope="col" class="sp_td">{per kod}</th>
    <th scope="col" class="sp_td">{mail}</th>
    <th scope="col" class="sp_td">{last login}</th>
    <th scope="col" class="sp_td">{events}</th>
  </tr>
<!--// End of colums names //-->
<!--// Begin of userlist //-->
  <tr>
    <td class="sp_td">&nbsp;</td>
    <td class="sp_td">&nbsp;</td>
    <td class="sp_td">&nbsp;</td>
    <td class="sp_td">&nbsp;</td>
    <td class="sp_td">&nbsp;</td>
    <td class="sp_td">&nbsp;</td>
  </tr>
 <!--// End of userlist //-->
</table>

Каким образом можно сделать, чтобы PHP в одной функции использовал первую часть шаблона, а в другой функции фторую половину!?
 smile  smile 
Зарание спасибо!


M
Mal Hack
Название темы должно отражать ее суть
Для подобной тематике топике существует форум "PHP: Тексты"

--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
SamDark
Дата 16.1.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 4
Всего: 38



xoslv, 
Проще и лучше всего разделить на два шаблона.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Mal Hack
Дата 16.1.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Я бы разделил на два шаблона. А еще лучше вторую часть выкинуть вообще.
Т.е. что-то вроде:
Код
<?php

function get_template( $data )
{
    return <<<EOF
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <th scope="col" class="sp_td">{$data['name']}</th>
    <th scope="col" class="sp_td">{$data['sname']}</th>
    <th scope="col" class="sp_td">{$data['per_kod']}</th>
    <th scope="col" class="sp_td">{$data['mail']}</th>
    <th scope="col" class="sp_td">{$data['last_login']}</th>
    <th scope="col" class="sp_td">{$data['events']}</th>
  </tr>
</table>
EOF;
}

$data = array("name" => "" , "sname" => "" , "pre_cod" => "" , "last_login" => "" , "mail" => "" , "events" => "" ,)

if ( est infa o polzovatele )
{
    $data = poluchaem_infu_naprimer_iz_bd();
    print get_template( $data );
}
else
{    print get_template( $data );    }


?>

Все получается просто и быстро, особенно, если при получении инфы из базы, имена полей базы совпадают с индексами массива
PM ICQ   Вверх
alexu_id
Дата 18.1.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



использовать регулярные выражения для того что бы после загрузки выделить части шаблона


Код

//пример для выделения первой части
$template = " ... "

$pattern = "/<!--\/\/ Begin Names of colums \/-->.*?<!--\/\/ Begin Names of colums \/-->/sim"; 
preg_match( $pattern, $template, $matches );

if( count( $matches ) ){

   // вызов функции с передачей контента...
   $replacement = doSomeThing( $matches[0] );

    // замена оригинального текста обработанным
    preg_replace($pattern, $replacement, $template);
}

// аналогично и для второй части...


эффективней будет разбить на два шаблона

Это сообщение отредактировал(а) alexu_id - 18.1.2007, 09:15
PM MAIL   Вверх
Mal Hack
Дата 18.1.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



И зачем так нагружать скрипт, когда есть вариант проще и логичнее понятнее (см. выше)?
PM ICQ   Вверх
SamDark
Дата 19.1.2007, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 4
Всего: 38



Если хочется совсем красиво и без замедления - использовать Smarty. Но на его изучения может уйти неделя-другая.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.