-
23-08-2019 - |
题
推聚集核心模块是一个有用的一个,但遭受的许多问题。有很多谈论的是改进它在推7.
现在我使用的汇模块带有推6.我要建一个聚合网站、并有一个很大的问题。有时饲料包含HTML tags属性(例如风格,dir,标题),但聚合器的输入格式过滤器忽略了某些特性(例如风格和dir),并允许其他(类和href).没有的一些属性的饲料看起来非常大小姐。聚集器含有它自己的输入格式,它不使用其他投入的格式(而这使问题更难!).
问题是我怎么可以允许一些HTML tags'特性出现在饲料。
P.S.最后一件事要做的就是修改聚集的核心文件
解决方案
其他提示
移至FeedAPI。这个唯一的缺点是不具有不同的饲料立即块。然而,有可能使用nodeblock和嵌入在供给物品的供给节点,这也允许您使用视图和feedapi映射器,以确定哪个信息被显示的每个进料在视图中设置这些。
聚集仅仅是任何繁重与进料坏模块。它没有提供任何灵活性,并且不与浏览发挥很好。如果你认真地建立整个网站的聚合,切换到feedapi,然后使用视图来控制,可以从饲料创建的节点的显示。
这将需要一些预先的准备,但是从长远来看,你能救自己的努力找到可能不存在神秘提要聚合解决方案的头痛。
我早已抛弃聚合,但我会鼓励你深入到源代码,看看是什么问题。最核心的模块的代码是相当有据可查的,它“是看到模块实际上是如何工作的最简单的方法。
我的猜测是,它是或者使用的标签的硬编码串,以允许,或它被捎带对滤波HTML输入格式。
简短。 有在 http://api.drupal.org/api/看看功能aggregator_filter_xss()功能/ aggregator_filter_xss 。
<?php
function aggregator_filter_xss($value) {
return filter_xss($value, preg_split('/\s+|<|>/', variable_get('aggregator_allowed_html_tags', '<a> <b> <br> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>'), -1, PREG_SPLIT_NO_EMPTY));
}
?>
正如你可以看到有一个名为Drupal的变量的 aggregator_allowed_html_tags 的。
您只需要使其可编辑上的设置从你的模块的一种形式。由于我没有发现它的Drupal管理页面可以编辑这个变量,我会说没有。
下面是你需要为你的自定义模块的代码:
function your_module_settings()
{
$form = array();
// Params para aggregator
$form['aggregator_allowed_html_tags'] = array(
'#type' => 'textarea',
'#title' => t('Core Module Aggregator allowed tags'),
'#default_value' => variable_get('aggregator_allowed_html_tags', '<a> <b> <br> <dd> <dl> <dt> <em> <i> <li> <ol> <p> <strong> <u> <ul>'),
'#required' => TRUE,
'#description' => t('Core Module Aggregator allowed tags'),
);
return system_settings_form($form);
}
function your_module_menu()
{
$items = array();
$items['admin/content/your-module'] = array(
'title' => 'My module settings',
'description' => 'desc',
'page callback' => 'drupal_get_form',
'page arguments' => array('your_module_ pasos'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
我希望这是有帮助的。