【问题标题】:Where to find a list of pages automatically renderable in Drupal and how it works?在哪里可以找到可在 Drupal 中自动呈现的页面列表以及它是如何工作的?
【发布时间】:2014-09-20 17:02:34
【问题描述】:

在我的主题的页面 .tpl.php 中,我可以找到几行类似

   render($action_links)

使用单个命令显示整个页面。有时我看到渲染参数是我的主题 .info 中的一个块,但其他时候我看到的参数我无法识别渲染默认页面或 drupal 元素。 这个怎么运作?在哪里可以找到默认可显示页面的列表?

特别是,我需要在我的一个页面中显示默认drupal 页面“添加内容”的内容,我很确定我可以使用此渲染方法来做到这一点,但我找不到正确的参数。

编辑:我发现了类似的东西

 drupal_render(node_add('NODE_TYPE'));

这似乎允许显示节点添加表单,但我需要的是主添加内容页面,其中包含用户可以添加的所有节点类型的列表。

【问题讨论】:

    标签: php drupal-7 content-management-system render


    【解决方案1】:

    您是 Drupal 的新手吗?当我阅读您的帖子时,我几乎可以肯定您错过了 Drupal 的工作。您在 render() 函数中找到的变量是在代码的其他地方“计算”出来的(大部分是在模块部分)。

    你找不到像这样显示它们的常量变量列表。

    我发现了这篇关于这些被渲染的神秘变量的文章,希望对你有所帮助:http://newsignature.com/articles/the-magic-behind-drupals-render-elements

    如果您只想在站点的某处显示“添加内容”表单,只需调用其路径 (node/add)。

    澄清后编辑:

    首先,您可以设置您希望用户登录后进入哪个页面。 (我不知道你为什么还在谈论用户配置文件模板。也许我又错过了什么。)

    但如果我确实理解您想要实现的目标,我会这样做:

    • 创建一个菜单(或简单地使用似乎正是您需要的“导航”菜单)以及用户可以执行的所有操作。我将把这个菜单放在主要内容区域。一定要创建一个菜单,去Administration>Structure>Menus>Add menu。并添加诸如“node/add/article”或“node/add/news”或“node/add/page”之类的链接或任何您的内容类型。
    • 将此菜单放置在您想要的区域。如果您希望它像页面的主要内容一样,请将其放在主容器中。为此,请转到Administration>Structure>Blocks> 将您的菜单拖放到正确的区域并保存。
    • 将此块配置为仅显示在首页(用户登录后到达的第一页)如果您愿意。为此,在块管理页面中,单击块旁边的“配置”并选中“在特定页面上显示块:仅列出的页面”并写下 <front>
    • 为不同类型的用户创建角色和权限。这将自动向他们显示他们可以看到的链接。要设置权限,请转到 Administration>People>Permissions 并在“节点”部分检查每个角色可以创建的内容类型。

    我希望我没有忘记任何事情。请告诉我是否足够清楚。

    【讨论】:

    • 是的,我是 Drupal 的新手。我应该如何“调用它的路径”?我想在第一个显示的用户页面(user_profile.tpl.php)中显示它,可能不需要手动复制它,这样如果我更改内容类型或其他内容,页面将自动更新。
    • 我不确定。您想在用户个人资料页面中显示添加节点表单吗?因此,当您在用户的个人资料中时,您想查看此表单吗?这很奇怪……
    • 否则,你可以看看这个应该简单易用的模块:drupal.org/project/formblock这就是你要找的吗?
    • 我希望用户在登录后登陆一个页面,在那里他可以找到他可以添加的内容列表。像“欢迎!你可以这样做这个和这个”之类的东西。限制内容类型访问,我为每个“类型”的用户在我的站点中获得了一个“添加内容”页面,其中仅包括他可以访问、创建等的内容类型。我可以得到我需要在 user_profile.tpl.php 中添加一些简单的 html 的结果,但我完全确定稍后我会忘记更新此页面,目前我将添加新的内容类型。所以我想放入一个“可更新”页面(在这种情况下真正的“添加内容”)。
    • 是一个聪明的解决方案,但我不能用它作为我的首页也是主页^^' 我尝试了类似这样的代码 --- $menu = menu_navigation_links('navigation');打印主题('links__navigation', array('links' => $menu)); ---,打印菜单,但显示的链接是“添加内容”和“我的帐户”,而我想显示菜单添加内容的辅助链接。所以我意识到(我真的很快)它比我想象的要复杂得多,我继续使用纯 HTML ......谢谢你的所有帮助! (我想我已经够烦你了:))
    猜你喜欢
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2017-07-04
    • 2017-04-16
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多