Как узнать, на какой странице используется моя функция?

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’);

0

Решение

Мы можем получить переменные Post и Get с помощью некоторых функций SS_HTTPRequest объект. Мы можем получить SS_HTTPRequest объект из нашего Controller.

SS_HTTPRequest имеет функцию getVar($variableName) получить переменные Get.

Если ваша функция находится в вашем контроллере, вы можете вызвать следующие, чтобы получить $_GET переменные:

$startValue = $this->getRequest()->getVar('start');

Если ваша функция находится в вашем классе объектов, вам сначала нужно получить контроллер страницы, прежде чем вы получите $_GET переменные:

$startValue = Controller::curr()->getRequest()->getVar('start');
3

Другие решения

Других решений пока нет …