0 レビュー
1 回答
php-変数が渡されていません
必要なのは、top5変数配列をインデックスページに使用することです。今のところ、それは未定義の変数を言います。したがって、ページ変数を割り当てるifステートメントでは、インデックスページがロードされる場合にtop5変数配列を送信することを知っている必要があります。コントローラでtop5変数のprint_rを実行すると、次のように表示されます。
Array ( [0] => Array ( [character_name] => Kid Wonder ) [1] => Array ( [character_name] => Ryu Satoshi ) [2] => Array ( [character_name] => Oriel ) [3] => Array ( [character_name] => "The Ladies Man" Luscious Landon ) [4] => Array ( [character_name] => "The Outlaw" Mike Mayhem ) )
コントローラー:
$siteInfo = $this->site->getSiteTitleAndSlogan();
$activeTemplate = $this->site->getTemplate();
if ($this->site->pageStatus('index', $activeTemplate[0]->id) == 1){
$page = $this->load->view($activeTemplate[0]->short_name.'/pages/index', '', true);
} else {
$page = $this->load->view($activeTemplate[0]->short_name.'/pages/404', '', true);
}
$footerLinks = $this->site->getFooterNav();
$top5 = $this->site->getTop5();
print_r($top5);
$this->template
->title($siteInfo[0]->site_name,$siteInfo[0]->site_slogan)
->prepend_metadata('<link rel="stylesheet" type="text/css" href="http://www.kansasoutlawwrestling.com/assets/css/'.$activeTemplate[0]->short_name.'.css" />')
->set('footerLinks', $footerLinks)
->set('page', $page)
->set('top5', $top5)
->set_partial('header', $activeTemplate[0]->short_name.'/header')
->set_partial('navigation', $activeTemplate[0]->short_name.'/navigation')
->set_partial('content', $activeTemplate[0]->short_name.'/content')
->set_partial('footer', $activeTemplate[0]->short_name.'/footer')
->build('kow');
編集:
これが私のテンプレートシステムです。
/views
/views/kow.php (template file)
/views/v1 (current template version)/
/views/v1/header.php
/views/v1/footer.php
/views/v1/navigation.php
/views/v1/content.php
/views/v1/pages/
/views/v1/pages/index.php(homepage)
/views/v1/pages/404.php(error page)
コンテンツビュー:
<div id="content">
<?php
echo $page;
?>
</div>
インデックスページビュー:
<div id="left">
<div id="spotlight">
<img id="spotlight" src="assets/images/spotlight.png" alt="Kansas Outlaw Wrestling" />
</div>
<div id="top5">
<ol>
<?php
for ($i = 0; $i >= count($top5); $i++){
foreach($top5[$i] as $row)
{
$seperator = ($elements == $count) ? '' : '<hr />';
$name = (!isset($row['character_name'])) ? 'TBD' : $row['character_name'];
$count++;
?>
<li><span class="red"><?php echo $name; ?></span></li>
<?php
}
}
?>
</ol>
</div>
</div>
<div id="middle">
<div id="topnews">
<img id="topnewspic" src="assets/images/kelly.png" alt="Top News Pic" valign="right" />
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet mauris et erat luctus faucibus. In hac habitasse platea dictumst. Nunc sollicitudin ultricies nisi vel blandit. Quisque tincidunt mattis lacinia. Maecenas porttitor magna eu velit hendrerit ornare. Donec ultrices porttitor tellus sed venenatis. Integer ipsum lacus, malesuada eget ornare vel, mollis vel metus. Fusce a orci sed dui accumsan luctus et id enim. Aenean ac dui orci. Nam fringilla rutrum libero eget laoreet. Mauris ac sem metus, a ultrices ante. Duis quam metus, rhoncus sed dictum vel, ultricies vel nibh. Pellentesque enim lorem, mollis ut lacinia ac, aliquet id magna. Proin ante sapien, molestie in tincidunt hendrerit, blandit ut dolor. In rhoncus convallis ullamcorper. Integer sed arcu vitae libero dapibus interdum.</p>
<p>Sed nibh leo, consequat non tempor vitae, fringilla eget augue. Pellentesque libero turpis, lobortis euismod consectetur eu, ultrices non orci. Aliquam erat volutpat. Sed et nunc orci. Aliquam semper tortor in nunc placerat pulvinar. Etiam placerat ornare metus, id malesuada mi venenatis quis. Suspendisse dapibus, metus sollicitudin dictum aliquet, nisi dui tempus felis, a tristique sem est at ligula. Praesent commodo dolor ac ante ornare id cursus tellus luctus. Vivamus pretium metus ut dui hendrerit tincidunt.</p>
</div>
</div>
<div id="right">
<div id="upcomingevents">
<ul>
<li>Warpath<span class="red">October 31, 2011</span></li>
<hr />
<li>Warpath<span class="red">October 31, 2011</span></li>
<hr />
<li>Warpath<span class="red">October 31, 2011</span></li>
<hr />
<li>Warpath<span class="red">October 31, 2011</span></li>
<hr />
<li>Warpath<span class="red">October 31, 2011</span></li>
</ul>
</div>
<div id="poll">
<p id="question" class="red">How is it coming along?</p>
</div>
</div>
編集2:
コントローラー:
$siteInfo = $this->site->getSiteTitleAndSlogan();
$activeTemplate = $this->site->getTemplate();
if ($this->site->pageStatus('index', $activeTemplate[0]->id) == 1){
$page = $this->load->view($activeTemplate[0]->short_name.'/pages/index', '', true);
} else {
$page = $this->load->view($activeTemplate[0]->short_name.'/pages/404', '', true);
}
$footerLinks = $this->site->getFooterNav();
$toprankings = $this->site->getTop5();
//$top5 = Array ( Array ( "character_name" => "Kid Wonder" ), Array ( "character_name" => "Ryu Satoshi" ), Array ( "character_name" => "Oriel" ), Array ( "character_name" => "\"The Ladies Man\" Luscious Landon" ), Array ( "character_name" => "\"The Outlaw\" Mike Mayhem" ));
$data['$toprankings']=$toprankings;
$this->template
->title($siteInfo[0]->site_name,$siteInfo[0]->site_slogan)
->prepend_metadata('<link rel="stylesheet" type="text/css" href="http://www.kansasoutlawwrestling.com/assets/css/'.$activeTemplate[0]->short_name.'.css" />')
->set('footerLinks', $footerLinks)
->set('page', $page)
->set('toprankings', $toprankings)
->set_partial('header', $activeTemplate[0]->short_name.'/header')
->set_partial('navigation', $activeTemplate[0]->short_name.'/navigation')
->set_partial('content', $activeTemplate[0]->short_name.'/content', $data)
->set_partial('footer', $activeTemplate[0]->short_name.'/footer')
->build('kow');
表示:
<?php
for($i=0;$i < count($toprankings); $i++)
{
echo "character_name: ".$toprankings[$i]['character_name']."<br>";
}
?>
わからない
0
レビュー
答え :
解決策:
for
ループは逆方向です。
for($i = 0; $i> = count($ top5); {-code- 4} ++){
あるべきです
for($i = 0; $i
$i
は0
で始まり、そこにforeが{-を超えることはありませんcode-6}
であり、同じであっても、インクリメントも反復もされません。
トップ5の部分を除いて、ビュー内のすべてを削除してみて、次のように変更します。
<?php
for($i = 0; $i $ v)
{{
echo$k。"="。$v。"
";
}
}
?>
動作しているかどうかを確認するだけです。また、使用しているテンプレートシステムを知ることも役立ちます。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。