请问D7或者D8怎么给将广告放到文章内容中去?

一直有个疑惑,怎么将广告放到文章内部,设置block没成功过,只能调整css么?

评论

如果不用 Drupal,将广告放到文章中的办法可以是将广告位放置在文章附近,或者将广告代码嵌入到文章中,JS异步加载或者其它办法也都可以。

Drupal 最终也是输出 HTML页面,所以插入广告位的办法也是将相关代码放到想要的位置,只不过因为它作为框架,在不熟悉的情况下可能不太清楚怎么实现代码的插入。

按照以上思路,将广告位插入到文章中的方式就很多,以下是几个相对简单和常用的方式:

  • 编辑内容时直接插入广告代码(简单、灵活、使用不当会不易于后期维护)
  • 修改节点模板,增加对应的区域(region),直接将广告位分配到区域中
  • 使用 hook_node_view()HOOK_preprocess_node(),在输出内容中插入广告位区块或者广告代码
  • ……

编辑内容时添加广告代码,考虑过,每次发布内容都需要添加太麻烦。

修改节点模板,增加到对应的区域,比如说一段文字,在文字中间添加代码,现在修改节点代码的话,会在内容前或者后,但是没找到在一段文字中间,把文字分为两部分这种的方式。

我是作为一般的站长,写代码目前搞不定,简单的还行,也没发现有这样的模块。

内容中添加广告代码,应该使用占位符,直接写代码并不是添加时麻烦,而是后期维护麻烦。

修改节点模版,在内容前后添加广告位是推荐的做法。如果希望广告位与内容有一定的融合,对广告位设置一个 float 属性让内容形成围绕效果也可以。

从站长运营和SEO的角度来讲,并不建议采用将广告插入正文这种伤害用户体验的做法。当然唯一好处就是可以增加用户误点广告的机率,从而增加收入。

大部分CMS,应该都不会提供将广告插到正文中的内置功能,多少需要做一些代码级的修改,可能国内CMS这类需求较多,有不少现成的代码和可以参考的文章。

就 Drupal 而言,修改抽象层实现正文插入广告可能有一定难度。简单点的做法可以将广告位分配到任意现有区域,通过JS将广告移动到正文中。虽然也涉及一些代码,但比控制页面输出要简单得多。同时,源码广告代码不位于正文中,对SEO的伤害也更小一些。