(如何)我可以在 Drupal 中定义带有参数的块吗?

发布于 2024-11-03 15:59:25 字数 242 浏览 4 评论 0原文

我想开发一个模块,定义一个可以使用参数调用的块 -

例如,块是一个广告区域模板,参数是我想要调用的区域。

我想使用块,因为我正在为我的网站使用面板模块,并且我试图避免在自定义面板中使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

慢慢从新开始 2024-11-10 15:59:34

简短的回答是,不,你不能(没有 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文