Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: о шаблонах
 
 автор: kulibko   (25.12.2006 в 04:44)   письмо автору
 
 

При разработке движка у меня довольно часто возникает необходимость переводить "чистые" пхп-словари в хтмл-вид.

Например,


foreach ($kategory_articles as $article)
{
$content = $content."<h2>".$article['title']."</h2>".$article['description']."... <a href=index.php?article=".$article['url'].">[просмотреть все...]</a><hr>";
}


Хотелось бы написать ф-ю, которая бы получала $kategory_articles, строку форматирования и ключи в правильном порядке и все это делала сама.

Что-то похожее на

function dict_to_html($dict, $dict_keys, $html_formatting_str, $top='', $bottom='')
{
    $rezult = '';
    foreach ($dict as $elem)
    {
        $vars = array();
        foreach ($dict_keys as $key)
            $vars[] = $elem[$key];
        $rezult = $rezult.sprintf($html_formatting_str, $vars);
    }
    return $top.$rezult.$bottom;
}

, но рабочее

Которое можно было бы использовать так:
$format_str = "<h2>%s</h2>%s... <a href=index.php?article=%s>[просмотреть все...]</a><hr>";
$keys = array('title', 'description', 'url');
$content = dict_to_html($kategory_articles, $keys, $format_str);

   
 
 автор: tonnal   (25.12.2006 в 19:39)   письмо автору
 
   для: kulibko   (25.12.2006 в 04:44)
 

такая ф-я, если я павильно понял проблему, давно прибумана и называется связака из xml и xslt.

Пишите необходимый xslt шаблон и формируете из данных xml, потом и то и другое загружаете в xslt преобразователь.

   
 
 автор: kulibko   (26.12.2006 в 07:28)   письмо автору
 
   для: tonnal   (25.12.2006 в 19:39)
 

почитал в нете о xslt - а не будет ли такое решение стрельбой из пушек по воробьям?

хотелось бы чтобы Вы просто подсказали как подправить мою ф-ю, этого было бы достаточно :)

   
 
 автор: tonnal   (26.12.2006 в 13:01)   письмо автору
 
   для: kulibko   (26.12.2006 в 07:28)
 

>почитал в нете о xslt - а не будет ли такое решение стрельбой из пушек по воробьям?
если надобность в выводе информации возникает редко и ограничивается подобными задачами, то вы явно разработчик неких системных скриптов которые в 99% случаях запускаются cron-ом. В этом случае стоит сооружать подобную функцию или поюзать какой нибудь готовый шаблонизатор http://softtime.ru/forum/srchform.php?id_forum=1&name=%F8%E0%E1%EB%EE%ED%E8%E7%E0%F2%EE%F0&numberthemes=30&srchwhere=2&id_forum=1&logic=0&send=%CD%E0%E9%F2%E8

А если вы пишите "в браузер", то xslt это единственное полноценное решение для вывода, которое отвечает отделению информации от оформления. К томуже при такой разработке у вас всегда на выходе всегда будет говый xml с данными который при надобности можно поюзать еще раз, хоть для оформления сайтов для кпк.

>хотелось бы чтобы Вы просто подсказали как подправить мою ф-ю, этого было бы достаточно :)
к сожалению нет времени

   
 
 автор: kulibko   (26.12.2006 в 13:57)   письмо автору
 
   для: tonnal   (26.12.2006 в 13:01)
 

убедили, буду разбираться :)
спасибо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования