如何获取我的功能在哪个页面上使用?
How can I get which Page my function is used on?
Silverstripe:我的页面上有一个包含多个页面的博客,每页 10 个条目。
我想让我的控制器知道当前正在查看博客的哪个页面。
我有以下代码:
public function dependsOnPage() {
$page = getPageHere; /*How can I get which page of the blog I'm currently on?*/
$i = ($page*10)-10;
echo $i;
}
第二页的 URL 例如:?start=10
第三个像这样 ?start=20
有谁知道我如何在 Silverstripe 中做到这一点?
我试过了:
//echo SiteTree::get_by_link('news')->Link();
//echo (Director::urlParam());
//echo Director::getCurentPage();
echo Director::get_current_page();
echo Director::baseURL();
$test = $_GET['url'];
echo $test;
echo $this->request->param('ID');
// echo Director::absoluteURL('', false);
//echo $this->getCurentPage();
//echo $this->request->param() ;
//echo $this->URLSegment;
//echo Director::absoluteBaseURL();
//echo $this->param();
//echo $this->getURLParams();
//echo SS_HTTPRequest->param();
解决方案:
$urlParam = Controller::curr()->getRequest()->getVar('start');
我们可以在 SS_HTTPRequest
object. We can get the SS_HTTPRequest
object from our Controller
上使用一些函数检索 Post 和获取变量。
SS_HTTPRequest
有一个函数 getVar($variableName)
来检索 Get 变量。
如果您的函数在您的控制器中,您可以调用以下命令来获取您的 $_GET
变量:
$startValue = $this->getRequest()->getVar('start');
如果您的函数在您的对象中 class 您首先需要在获取 $_GET
变量之前获取页面控制器:
$startValue = Controller::curr()->getRequest()->getVar('start');
Silverstripe:我的页面上有一个包含多个页面的博客,每页 10 个条目。 我想让我的控制器知道当前正在查看博客的哪个页面。
我有以下代码:
public function dependsOnPage() {
$page = getPageHere; /*How can I get which page of the blog I'm currently on?*/
$i = ($page*10)-10;
echo $i;
}
第二页的 URL 例如:?start=10 第三个像这样 ?start=20
有谁知道我如何在 Silverstripe 中做到这一点?
我试过了:
//echo SiteTree::get_by_link('news')->Link();
//echo (Director::urlParam());
//echo Director::getCurentPage();
echo Director::get_current_page();
echo Director::baseURL();
$test = $_GET['url'];
echo $test;
echo $this->request->param('ID');
// echo Director::absoluteURL('', false);
//echo $this->getCurentPage();
//echo $this->request->param() ;
//echo $this->URLSegment;
//echo Director::absoluteBaseURL();
//echo $this->param();
//echo $this->getURLParams();
//echo SS_HTTPRequest->param();
解决方案:
$urlParam = Controller::curr()->getRequest()->getVar('start');
我们可以在 SS_HTTPRequest
object. We can get the SS_HTTPRequest
object from our Controller
上使用一些函数检索 Post 和获取变量。
SS_HTTPRequest
有一个函数 getVar($variableName)
来检索 Get 变量。
如果您的函数在您的控制器中,您可以调用以下命令来获取您的 $_GET
变量:
$startValue = $this->getRequest()->getVar('start');
如果您的函数在您的对象中 class 您首先需要在获取 $_GET
变量之前获取页面控制器:
$startValue = Controller::curr()->getRequest()->getVar('start');