コード例 #1
0
 /**
  * Adds block
  * 
  * @param Aste_Block $block 
  * @access private
  * @return void
  */
 private function addBlock($block)
 {
     $this->blocks[$block->getName()] = $block;
 }
コード例 #2
0
 /**
  * Fetchs block content
  * 
  * @param Aste_Block $block 
  * @access public
  * @return void
  */
 public function fetch($block)
 {
     $fake_tag = self::FAKE_TAG_PREFIX . $block->getName() . self::FAKE_RIGHT_DELIMITER;
     $fake_tag_length = strlen($fake_tag);
     $fake_tag_begin = strpos($this->getContent(), $fake_tag);
     if ($fake_tag_begin !== false) {
         if ($block->isDisplayable() === true) {
             $content = substr_replace($this->getContent(), $block->fetch(), $fake_tag_begin, $fake_tag_length);
         } elseif ($block->isDisplayable() === false) {
             $content = substr_replace($this->getContent(), '', $fake_tag_begin, $fake_tag_length);
         } else {
             $content = substr_replace($this->getContent(), self::LEFT_DELIMITER . $block->getName() . self::RIGHT_DELIMITER . $block->getContent() . self::LEFT_DELIMITER . self::END_BLOCK_MARK . $block->getName() . self::RIGHT_DELIMITER, $fake_tag_begin, $fake_tag_length);
         }
         $this->setContent($content);
     }
     // replaces variable which are used for recursive loops
     $this->parseVar($block->getName(), '');
 }