我现在有这样的方法:
ctop = $cnew = $cmine = '';
if($actual == 'top') $ctop = 'class="active"';
if($actual == 'last') $new = 'class="active"';
if($actual == 'mine') $cmine = 'class="active"';
$html = '<aside class="panel_derecho">
<div class="tabs"><h4>$donde</h4>
<ul>';
$js = "refrescar_submenu('last_$donde')";
$js_t = "refrescar_submenu('top_$donde')";
$js_r = "refrescar_submenu('mine_$donde')";
$html .= '<li '.$ctop.'><a href="#sub_menu" onclick="'.$js_t.'">top</a></li>';
$html .= '<li '.$cnew.'><a href="#sub_menu" onclick="'.$js.'">ultimos</a></li>';
$html .= '<li '.$mine.'><a href="#sub_menu" onclick="'.$js_r.'">like</a></li>';
$html .= ' </ul>
</aside>';
return $html;
正如预期的那样:
它生成一个列表,其中包含所需的副本、所需的javascript函数参数和活动类(用于所需的类)
但我觉得它可以不那么重复;我已经看到添加/编辑/删除副本、参数、元素等会很昂贵。我只是不知道从哪里开始。。
如果有帮助:
$donde
表示数据类型(文章、歌曲、视频等)- CCD_ 2表示一个atribute(新文章、热门文章,我喜欢的文章)
// Menu: link => text
$menu = array(
"top" => "top",
"last" => "ultimos",
"mine" => "like"
);
$html = '<aside class="panel_derecho">
<div class="tabs"><h4>$donde</h4>
<ul>';
foreach ($menu as $link => $text)
{
$html .= '<li '.( $link==$actual ? 'class="active"' : '').'><a href="#sub_menu" onclick="refrescar_submenu('''.$link.'_'.$donde.''')">'.$text.'</a></li>';
}
$html .= ' </ul>
</aside>';
return $html;
$attributes = array("top" => "top", "last" => "ultimos", "mine" => "like");
$html = "<aside class='"panel_derecho'">
<div class='"tabs'"><h4>{$donde}</h4>
<ul>";
foreach ($attributes as $key=>$value)
$html .= " <li ". ($actual == $key ? "class='"active'"" : "") ."><a href='"#sub_menu'" onclick='"refrescar_submenu('{$key}_{$donde}''">{$value}</a></li>";
$html .= " </ul>
</div>
</aside>";
return $html;