(如何)我可以在 Drupal 中定义带有参数的块吗?
我想开发一个模块,定义一个可以使用参数调用的块 -
例如,块是一个广告区域模板,参数是我想要调用的区域。
我想使用块,因为我正在为我的网站使用面板模块,并且我试图避免在自定义面板中使用 PHP 过滤器。
我知道我可以使用主题函数来做到这一点,但这并不能解决我在自定义面板中避免使用 PHP 过滤器的问题。我可以用块来做到这一点吗?
我在这个主题上所做的大部分研究都让我将参数传递给视图块,而我并不在寻找它。
I want to develop a module that defines a block which can be invoked with arguments —
for example, a block is an ad zone template and the argument is which zone I would like to invoke.
I want to use a block because I am using the Panels module for my site and I am trying to avoid using the PHP filter in a custom panel.
I know I can do this with a theme function, but that doesn't solve my problem of avoiding the PHP filter in a custom panel. Can I do this with a block?
Most of the research I have done on this topic has led me to passing an argument to a views block, which I am not looking for.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短的回答是,不,你不能(没有 php 过滤器)。您必须为每个区域创建一个块,并为面板设置一些选择(可见性)规则,以根据上下文选择变体。
另一种方法是编写广告块(在 php 中)并从 url 获取参数(即 arg(1) 等)。无论如何,这种方法存在一些问题:
将参数传递给迷你面板
The short answer is, no you can't (without php filter). You have to do a block for each zone and set up some selection (visibility) rules for your panels to chose a variant based on context.
Another way is to code your ad block (in php) and get the argument from the url (ie. arg(1) and so on). There are some issue with this approach anyway:
Passing Arguments to Mini-Panels