Составление страницы из блоков

Тема в разделе "Как сделать...", создана пользователем ArtyGrand, 6 янв 2012.

  1. ArtyGrand

    ArtyGrand Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    81
    Симпатии:
    37
    Как в шаблоне(шкурке) можно автоматически заменять метки вида [блок1], [блок2] на содержимое файлов блок1.php, блок2.php, будь то просто текст или любой php код, при этом код должен выполниться.

    я написал код, который только текст переносит, но как сделать, что бы и функции разные выполнялись тоже?
    PHP:
    if (preg_match_all('/{iblock:(.+)}/'$page$matches)){
        for (
    $i 0$i <= count($matches[1])-1$i++){
            
    $block_content file_get_contents('./system/iblocks/'.$matches[1][$i].'.php');
            
    $page str_replace($matches[0][$i],$block_content,$page);
        }
    }
    всяко разно извращался, но написал, хотя для php кода мне равно надо писать в файлах $block_content = функция такая то.

    а как можно это обойти и писать, допустим, просто echo переменная полученная от функции; ?
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    так попробуй
    PHP:
     
    if (preg_match_all('/{iblock:(.+)}/'$page$matches)){
      for (
    $i 0$i <= count($matches[1])-1$i++){ 
        
    ob_start(); 
        include (
    './system/iblocks/'.$matches[1][$i].'.php');
        
    $content2 ob_get_contents();
        
    ob_end_clean(); 
        
    $page str_replace($matches[0][$i],$content2,$page);
      }
    }
     
    а вторую часть ( ту что после кода ) непонял
     
    ArtyGrand нравится это.
  3. metadon

    metadon Создатель

    Регистр.:
    13 апр 2008
    Сообщения:
    11
    Симпатии:
    3
    Ещё посмотрите шаблонизатор smarty.net
    Там много дополнительного функционала, который может понадобится, когда захочется расширить возможности блоков.
     
  4. ArtyGrand

    ArtyGrand Постоялец

    Регистр.:
    6 июн 2009
    Сообщения:
    81
    Симпатии:
    37
    пока моя cms не будет весить больше чем фреймворк или шаблонизатор, не буду использовать подобного.
     
  5. Localhoster

    Localhoster Создатель

    Регистр.:
    11 янв 2009
    Сообщения:
    34
    Симпатии:
    14