php输出多选择答案代码,php-尝试优化代码以基于多个/不同条件输出值

基本上,我有这个if else条件,该条件检查节点的实体类型并根据条件输出值.如下代码所示,如​​果实体类型为press_release,则在标记上输出Press Release;如果实体类型为访谈,则输出采访.

问题在于,一旦存在多个条件,就很难维护,是否有缩短方法?

{% for newsdesk in accordion.entity.field_newsdesk_and_press %}

{% if article.entity.getType == 'press_release' %}

Press Release

{% endif %}

{% if article.entity.getType == 'interview' %}

interview

{% endif %}

{% endfor %}

解决方法:

事实是,page.html.twig可能是做这种事情的第二坏模板(以html.html.twig为首,其次是node.html.twig).相反,您最好在现场执行此操作.

模板建议

但是首先,启用Twig调试非常重要.只需遵循:Debugging Twig templates.从现在开始,您将在HTML文档中将模板建议打印为HTML注释.请参见我的“ Article”内容类型的body字段的示例输出:

Elitphas sellus laoreet consequa laoreetc maecenas aesent iam ras fames. Volutpat sacras feugiatm hendre lacusp esent quamsusp uada netus. Duinulla sque teger justop justov metiam. Uisque vestibu tcras pretium llam lum llam. Consec ctetur llaut necinte magnap vel proin. Justo teger sedinteg vulput ligula arcu litora telluss eger. Roin massan quamnull nibh vitaenu sduis felis rproin ndisse. Ipsumves nullap teger mussed condim sacras.

列出的模板前面的小x表示当前正在使用的模板.在实际字段输出的顶部,将打印出硬盘驱动器上当前模板文件的相对路径.现在,您可以复制该模板,将其粘贴到主题的模板中,然后根据评论建议之一对其进行重命名.可能尽可能不同.

因此,在您的情况下,将是:

> field–node–field-newsdesk-and-press-press-release.html.twig

> field–node–field-newsdesk-and-press-interview.html.twig

在其中,您可以编辑标记以适合您的需求.通过hook_theme_suggestions_HOOK_alter,现有模板建议也可以轻松扩展为尊重视图模式.

我仍然认为这不是理想的解决方案(尽管已广泛采用这种方式).管理许多模板可以变得非常快.另外:后端中的实际Field UI变得越来越无用.

我建议以编程方式创建两个伪字段,而这些伪字段可以简单地放在每个节点类型的“管理显示”设置中.或完全在预处理功能中以编程方式再次执行此操作.但这将远远超出您的问题范围,如果您自己没有完成,则最好单独询问.

标签:theming,twig,drupal,php

来源: https://codeday.me/bug/20191025/1925898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值