我尝试在我自定义mod / myplugin / views / default / page / layouts / content.php中添加的新标签中添加功能,并根据主要活动中的标记删除一些元素。< / p>
$tabs = array(
'all' => array(
'text' => elgg_echo('all'),
'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "$context/all",
'selected' => ($filter_context == 'all'),
'priority' => 200,
),
'mine' => array(
'text' => elgg_echo('mine'),
'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "$context/owner/$username",
'selected' => ($filter_context == 'mine'),
'priority' => 300,
),
'anime' => array(
'text' => elgg_echo('Anime'),
'href' => (isset($vars['anime_link'])) ? $vars['anime_link'] : "$context/anime",
'selected' => ($filter_context == 'anime'),
'priority' => 500,
),
);
该标签已经显示在我的活动页面中,但是我不知道在哪里可以添加我的新功能以仅加载某些具有动画&#34;标签
所以我的问题是:
我可以在哪里添加代码: example.com/activity/anime
我在哪里可以编辑此查询(因此它会显示包含&#34;动漫&#34;标记的所有内容): example.com/activity/all
我是否需要添加过滤器才能实现此目的?我应该在哪里添加它或者我应该覆盖哪些文件?
问候。
答案 0 :(得分:0)
有两种方法可以解决这个问题:
使用自定义页面处理程序并将其用作新标签的网址,例如sub class
。
anime/activity
使用elgg_register_page_handler('anime', 'anime_page_handler');
function anime_page_handler($segments) {
$page = array_shift($segments);
switch ($page) {
case 'activity':
// render a page using elgg_view_resource()
// or generate your list here and pass it into elgg_view_layout() then
// then pass the layout into elgg_view_page()
return true;
}
return false;
}
挂钩劫持route
activity/anime