ホームページ >バックエンド開発 >PHPチュートリアル >phpcms v9 で特別なトピックのブレッドクラム ナビゲーションを作成する方法
phpcms v9 でトピックのブレッドクラム ナビゲーションを記述する方法
おそらく多くの人が {catpos($catid)} を使用するように言うでしょう。言っておきますが、私は試してみましたが、そうではありませんでした。トピック
にあることが前提なので、もちろん、{catpos($specialid)}
に変更しても機能しません。もしかしたら、v9 トピックでは機能しないのかもしれません。ブレッドクラム関数を使用するのですが、2 回開発する必要がありますか?
これは最小限の関数です
わかりました。2 回目にする必要がある場合は、アイデアを教えてください
--- ---解決策のアイデア----------- -----------
catpos は元々列パスを取得するために使用されており、トピックは属していませんコラム。以下は私が変更したコードです。問題ないと思われる場合はそのまま使用してください
<br />function catpos($catid, $symbol=' > '){<br /> $category_arr = array();<br /> $siteids = getcache('category_content','commons');<br /> $siteid = $siteids[$catid];<br /> $category_arr = getcache('category_content_'.$siteid,'commons');<br /> if(!isset($category_arr[$catid])) {<br /> $db = pc_base::load_model('module_model');<br /> $info = $db->get_one('`module`=\''.$_GET['m'].'\'');<br /> return $info['name'].' ';<br /> }<br /> $pos = '';<br /> $siteurl = siteurl($category_arr[$catid]['siteid']);<br /> $arrparentid = array_filter(explode(',', $category_arr[$catid]['arrparentid'].','.$catid));<br /> foreach($arrparentid as $catid) {<br /> $url = $category_arr[$catid]['url'];<br /> if(strpos($url, '://') === false) $url = $siteurl.$url;<br /> $pos .= '<a href="'.$url.'">'.$category_arr[$catid]['catname'].'</a>'.$symbol;<br /> }<br /> return $pos;<br />}<br />