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?
声明@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。默认模板放在
Resources/views/{your controller name}/{your action name}.html.twig
比如:
DefaultController 的 indexAction
默认模板在
Resources/views/Default/index.html.twig
注意 Linux 下区分大小写。
也可以指定路径, annotation:
@Template("your/view/path")