Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal聚合器输入格式_Drupal_Content Management System_Module_Aggregators - Fatal编程技术网

Drupal聚合器输入格式

Drupal聚合器输入格式,drupal,content-management-system,module,aggregators,Drupal,Content Management System,Module,Aggregators,Drupal聚合器核心模块是一个有用的模块,但存在许多问题。有很多人在讨论如何在Drupal7中改进它 现在我正在使用Drupal6附带的聚合器模块。我正在建立一个聚合站点,有一个大问题。有时提要包含HTML标记属性(例如,style、dir、title),但聚合器的输入格式筛选器忽略某些属性(例如,style和dir),并允许其他属性(class和href)。如果没有一些属性,提要看起来很模糊。聚合器包含它自己的输入格式,它不使用其他输入格式(这使问题更加困难!) 问题是如何允许一些HTML标

Drupal聚合器核心模块是一个有用的模块,但存在许多问题。有很多人在讨论如何在Drupal7中改进它

现在我正在使用Drupal6附带的聚合器模块。我正在建立一个聚合站点,有一个大问题。有时提要包含HTML标记属性(例如,style、dir、title),但聚合器的输入格式筛选器忽略某些属性(例如,style和dir),并允许其他属性(class和href)。如果没有一些属性,提要看起来很模糊。聚合器包含它自己的输入格式,它不使用其他输入格式(这使问题更加困难!)

问题是如何允许一些HTML标记的属性出现在提要中


<> P.S.最后要做的是修改聚合器的核心文件

,您可能需要考虑移动到FippAPI

之上的最新解决方案之一。


从这里开始,您可以看到,这就是操作所在,聚合方面。

我早就抛弃了聚合器,但我鼓励您深入了解问题的根源。大多数核心模块的代码都有很好的文档记录,这是查看模块实际工作情况的最简单方法


我的猜测是,它要么使用一个硬编码的标签字符串来允许,要么是在过滤的HTML输入格式上进行复制。

转到FeedAPI。这样做的唯一缺点是没有针对不同提要的即时块。但是,可以使用nodeblock设置这些,并在提要项的提要节点中嵌入视图,这也允许您使用视图和feedapi映射器来确定每个提要中显示的信息

聚合器对于任何繁重的提要来说都是一个糟糕的模块。它没有提供灵活性,并且不能很好地处理视图。如果您真的想构建一个用于聚合的整个站点,请切换到feedapi,然后使用视图控制可以从提要创建的节点的显示

这将需要一些前期工作,但从长远来看,您将省去寻找可能不存在的神秘提要聚合器解决方案的麻烦。

简短而简单。 请查看位于的函数aggregator_filter_xss()


如您所见,有一个drupal变量称为aggregator\u allowed\u html\u 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;
}
使用您的_模块_设置()
{
$form=array();
//param聚合器
$form['aggregator\u allowed\u html\u tags']=array(
“#键入”=>“文本区域”,
“#title”=>t('Core Module Aggregator allowed tags'),
“#默认值”=>variable_get('aggregator_-allowed_-html_-tags',”
    • ), “#必需”=>正确, “#description”=>t(“核心模块聚合器允许的标记”), ); 返回系统设置表单($form); } 功能您的_模块_菜单() { $items=array(); $items['admin/content/your module']=array( “标题”=>“我的模块设置”, 'description'=>'desc', “页面回调”=>“drupal获取表单”, “页面参数”=>array('your_module_upasos'), “键入”=>菜单项\u正常\u项, ); 退回$items; }

  • 我希望这会有帮助。

    如果我的问题没有解决方案,我想这样做,但是你认为不过滤就传递html会有安全风险吗?确实如此。但您可以选择允许使用哪些标记。
    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;
    }