页面标题和功能及其标题

时间:2011-11-21 20:18:58

标签: php codeigniter

我当天还有一个问题。我正在努力使我的传记页面完全可以自定义我正在做的自定义CMS项目。如果您在视图中注意到我有3个h2标签用于报价,盟军,竞争对手。我想要做的是将h3放入我的数据库,然后让它为每一个做一个foreach循环,所以我想我将如何以这种方式存储与页面标题一起的函数如果页面上没有活动状态,则不必运行它。我知道这可以轻松完成,但是为了完成这一点,我需要专注于我需要做的事情。请记住,取决于哪个您在生物中的页面会影响哪些标题可用。

截至目前,这是我的控制器:

$activeTemplate = $this->sitemodel->getTemplate();
    $footerLinks = $this->sitemodel->getFooterNav();
    $bodyContent = "bio";//which view file
    $bodyType = "main";//type of template
    $this->data['activeTemplate'] = $activeTemplate;
    $this->data['footerLinks']= $footerLinks;
    $this->load->model('biomodel');
    if($character !== "jfkdlsjl")
    {
        if((!empty($character))||(!isset($character))||(trim($character) !== '')||($character !== NULL))
        {
            $bioArray = $this->biomodel->getCharacterBio($character);
            if ($bioArray == "empty")
            {
                $this->data['bioArray']= array();
            }
            else
            {
                if (($bioArray[0]->characters_statuses_id == 2)||($bioArray[0]->characters_statuses_id == 3)||($bioArray[0]->characters_statuses_id == 5))
                {
                    $this->data['bioArray']= array(); 
                }
                else
                {
                    $this->data['bioArray']= $bioArray;
                    $bioPagesArray = $this->biomodel->getBioPages();
                    $alliesArray = $this->biomodel->getCharacterAllies($bioArray[0]->id);
                    $rivalsArray = $this->biomodel->getCharacterRivals($bioArray[0]->id);
                    $quotesArray = $this->biomodel->getCharacterQuotes($bioArray[0]->id);
                    $this->data['bioPagesArray']= $bioPagesArray;
                    $this->data['alliesArray']= $alliesArray;
                    $this->data['rivalsArray']= $rivalsArray;
                    $this->data['quotesArray']= $quotesArray;
                }
            }
        }
    }

以下是我的观点:

echo "<h2>Quotes</h2>";
    if (!empty($quotesArray)) 
    {
        echo "<ul>";
        for($x = 0; $x <= (count($quotesArray)-1); $x++)
        {
            echo "<li>".stripslashes($quotesArray[$x]->quote)."</li>";
        }
        echo "</ul>";
    }
    echo "<h2>Allies</h2>";
    if (!empty($alliesArray)) 
    {
        echo "<ul>";
        foreach ($alliesArray as $row)
        {
            echo "<li>".stripslashes($row)."</li>";
        }
        echo "</ul>";
    }
    echo "<h2>Rivals</h2>";
    if (!empty($rivalsArray)) 
    {
        echo "<ul>";
        foreach ($rivalsArray as $row)
        {
            echo "<li>".stripslashes($row)."</li>";
        }
        echo "</ul>";
    }

1 个答案:

答案 0 :(得分:1)

我不知道你对存储函数的意思,也不知道你不想运行哪个函数。

假设我们正在处理控制器中的最后一个else语句

$alliesArray = $this->biomodel->getCharacterAllies($bioArray[0]->id);
$rivalsArray = $this->biomodel->getCharacterRivals($bioArray[0]->id);
$quotesArray = $this->biomodel->getCharacterQuotes($bioArray[0]->id);

...而你“不想运行”的函数是视图中数组的foreach循环,只需处理视图中的逻辑:

if(($this->uri->segment(n)=='pageIwantQuotesOn') && (!empty($quotesArray)){
    echo "<h2>Quotes</h2>";
    echo "<ul>";
    for($x = 0; $x <= (count($quotesArray)-1); $x++)
    {
        echo "<li>".stripslashes($quotesArray[$x]->quote)."</li>";
    }
    echo "</ul>";
}
...