问题标签 [zend-controller-router]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
481 浏览

php - 在 Zend 中添加路由器模块

我有这个代码:

但是,如果我进入这个 url: /admin/ 它将控制器加载到 /application/controllers/IndexController.php 而不是 /application/modules/admin/controllers/IndexController.php 中的那个

我的完整引导程序是这个:

0 投票
0 回答
1202 浏览

zend-framework - Zend Rest Route:转到正确的方法(get/put/post/delete)

我将停用一个用作 API 的自定义 PHP 项目。

我需要支持这样的 URL,例如

/post/{id}/copy.json(复制带有 {id} 的帖子 /post(所有帖子)/post/{id}(返回一个帖子)

到目前为止一切正常,但是我发现路由很困难。我希望 Zend 检测它是什么类型的请求,然后使用正确的方法。我倾向于将其放入 My_Controller_Rest 预调度中,将变量传递回控制器,然后在 indexAction 中执行 $this->getAction()

想法?我有点假设使用 Zend_Rest_Controller 它会触发正确的方法,除非我做错了,否则它不会。

我所有的控制器都扩展了一个抽象类,

控制器:

我的控制器休息

更新:

我通过使用 Resauce 解决了这个问题:https ://github.com/mikekelly/Resauce

您可以通过查看此处找到我的改进:https ://github.com/mikekelly/Resauce/issues/1

0 投票
1 回答
1580 浏览

javascript - 如何从 zend 控制器 indexAction 调用 javascript 函数?

我想从 zend 控制器 indexAction 调用一个 javascript 函数。我的控制器看起来像这样..

// mycontroller.php

控制器的 viwefile 是 //index.phtml

0 投票
2 回答
1597 浏览

zend-framework - Zend 控制器路由器:定义变量以指向一个控制器中的不同操作

我是 Zend 的新手,我对 Zend 路由器有点麻烦。我已经搜索过它,但没有找到...

我希望能够在 uri 级别为每个定义的变量定义一个路由器,以指向一个控制器中的不同操作。

我正在使用语言和模块,所以我在引导应用程序中定义了下一个 initRoutes 函数:

我希望能够通过他们定义的操作访问论坛部分和论坛主题。

就像是 :

  • 我的域名/论坛 -> 论坛/索引

  • mydomain/forum/section -> 论坛/sectionAction

  • mydomain/forum/section/topic -> 论坛/topicAction

以及在 uri 级别定义的语言和模块,例如:

  • 我的域/语言/模块/论坛

  • mydomain/lang/module/forum/section

  • mydomain/lang/module/forum/section/topic

所以我有这个:

然后我在 Default_Bootstrap 中创建了下一个路由:

现在,这仅在我在 uri 级别定义语言和模块时才有效,但如果我定义为 => mydomain/forum/section | 则不起作用 部分/主题。这也给我的导航->菜单带来了另一个问题。如果我在路由器定义中将“论坛”定义为静态变量,当我将鼠标悬停在 navigatoin.xml 中定义的任何标签上时,uri 级别对于每个标签都有相同的值。

我试图制作这样的链条:

但这并不像我预期的那样工作。

任何帮助将不胜感激,谢谢。

0 投票
1 回答
863 浏览

php - 使用和不使用 lang uri 参数设置 Zend 路由器

我想知道是否有人可以帮助我解决下一个问题。

我希望能够在有和没有 Uri lang 标志的情况下使用多语言支持设置我的项目,并且还可以使用模块结构。

我的意思是

使用 Zend_Locale + Zend_Translate 默认值在没有 lang uri 参数的情况下导航 (en)

并且 :

我已经按照我找到的一些tutos,但我仍然不能这样做。

这是我当前的代码:

我在 bootstrap.php 上设置了 zend _initRoute、_initLocale 和 _initTranslate,如下所示:

我还注册了下一个语言插件:

此外,我还创建了自己的 Url 助手,它由使用“Language_Action_Helper”的 zend url 助手扩展:

然后我创建了一个使用我的 url Helper 的 Anchor 助手:

这是语言操作助手,用于在我的 url 助手使用的控制器中提供语言。

我的最终方法是使用这种结构,能够设置标准路线,例如:

有语言支持。

必须如何配置这些路线以满足我的需求?,我的意思是,我试图做类似的事情:

这个路由器配置也给我的导航配置带来了一些问题。当我设置这个路由器,然后导航到 /topic/id 时,当我悬停由 navigation.xml 给出的任何链接时,总是返回这个配置给出的相同 URI。

有没有人熟悉这个?,这可能吗?有什么不同的方法来做这样的事情吗?我尝试了一些不同的事情,让我更接近我的目标,但这是我能做到的最接近的......

谢谢。

0 投票
1 回答
1023 浏览

php - zend resources.frontController.baseUrl 不起作用

我需要将一个 zend 项目放在我的根服务器的子目录中。我希望我的项目位于:"http://blog.com/site"而不是"http://blog.com"。尝试这样做,我在文件中添加了:/application/configs/application.ini下面的行:

resources.frontController.baseUrl = "http://blog.com/site" 但是当我访问“http://blog.com/site”时,它返回此错误:指定的控制器无效(站点)

如果我在引导程序中放入以下行:

它写“http://blog.com/site”

如何不将子目录“/site”视为控制器?因为我希望它作为 url 的一部分。

0 投票
1 回答
214 浏览

zend-framework - Zend Framework 如何禁用控制器

当我把这个地址放在 example.com/js/config 时,我需要为 JS 加载一个配置文件,但路由器加载一个控制器并显示错误,因为控制器不存在。在引导文件中,我放置了一个 _init 方法:

但这不起作用。有任何想法吗?此致。

0 投票
1 回答
422 浏览

zend-framework - 在zend框架中为同一个控制器设置多个路由器


如果我们在一个控制器中面临不同的动作,如何为同一个控制器设置多个路由器?
我在管理模块的控制器服务中有两个操作。
第一个动作是管理,第二个是管理文章
这是我的代码

请帮助我
提前谢谢!!!

0 投票
2 回答
446 浏览

php - 为 Zend_Controller_Router_Route_Module 的默认路由添加前缀

我想知道是否可以将 :module/:controller/:action/* 的默认路由更改为 /my/prefix/:module/:controller/:action/* 之类的东西,保持不指定的可能性模块和/或控制器和/或动作。

0 投票
1 回答
198 浏览

zend-framework2 - zend2 路由分页器和模块

我遇到了 Zend Framework 2 Router 对象的问题。我正在尝试实现Zend\Paginator快速入门路由机制示例但没有成功。让我解释:

遵循快速入门后,我以这样的方式结束:

当我尝试为我的浏览/索引页面实现分页器时,问题就出现了。假设我需要一个这样的路由器是/album[/:action][/:id][/:page]行不通的,因为路由器将:pagevar 分配给:id. 我删除了:id以类似内容结尾的部分,/album[/:action][/:page]并在我的添加/编辑操作中调用

工作没有问题,但我喜欢事情保持记忆。所以我的问题是:是否有可能在不创建重复路由器的情况下仅让分页器看起来像我喜欢的那样来实现这一点?我做错了什么?