Заголовки и функции страниц с их заголовками - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть еще один вопрос на день.Я пытаюсь сделать мою страницу биографии полностью настраиваемой для моего собственного проекта 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 Ответ

1 голос
/ 22 ноября 2011

Я не знаю, что вы имеете в виду, когда храните функцию и какую функцию вы не хотите запускать.

Предполагается, что мы работаем с последним оператором 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>";
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...