PHP-Framework – Problem mit der Ansicht, die dem Symfony-Controller entspricht
为情所困
为情所困 2017-05-16 16:44:18
0
3
887

Ich schaue mir das Anleitungsvideo an

Die rote Linie wird auf der Frontend-Seite ausgegeben und gibt nicht an, um welche Vorlage es sich handelt. Auf die angegebene Vorlagenseite wird im Video tatsächlich zugegriffen. Erfolgt dies über @Route (name="page_index"), aber ich sehe nicht, dass seine Front-End-Seite diesen Namen verwendet. Ich frage mich, wie ich auf die angegebene Seite zugreifen kann.

Frage 2: Wenn in app/confing/routing zwei Pfade als „/“ definiert sind, die Controller, auf die zugegriffen wird, jedoch unterschiedlich sind, auf welche Seite werde ich dann zugreifen, wenn ich auf die Adresse localhost:8000 zugreife? Wie kann man unterscheiden, wenn man unterscheiden möchte?

为情所困
为情所困

Antworte allen(3)
Ty80

声明@Template()后可以不用在return那写路径,会自动查找,比如跟楼上说的,defaultController的indexaction就是Resources/views/Default/index.html.twig路径

小葫芦

我用过1.2的版本, 很老的了, 用那个版本的经验告诉你一下:
制定模版不是通过route的, route只是控制你访问的是哪个controller的哪个action, 具体定义哪个模板则是在controller中的, 虽然上面的代码中没有定义木板的方法 ,但他会有一个默认的view的, 1.2中的是actionnameSuccess.php文件,你奇怪他是在怎么访问的问题需要看源码, 会有默认的实现。
问题2中的的routing中同时定义了两个/, 他会从上向下查找, 一旦请求的url满足了某个规则, 则直接跳转到对应的controller, 相同routing规则的第二个配置就找不到了, 所以你的第二个/并没有什么卵用,localhost:8000 默认会指向default的controller和action, 在routing的最后会有这个默认配置, 但你这个/配置是否会影响, 你得看的配置是怎么配的了,有可能你的这个配置满足了默认页面的请求url规则, 会跳转到你的/对应的controller的action, 也有可能并不满足, 依旧走默认的controller的action。

注意,我说的都是基于1.2的版本, 仅供参考

洪涛

默认模板放在 Resources/views/{your controller name}/{your action name}.html.twig

比如:

DefaultController 的 indexAction

默认模板在

Resources/views/Default/index.html.twig

注意 Linux 下区分大小写。
也可以指定路径, annotation: @Template("your/view/path")

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage