1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-10 08:44:46 +02:00

Add getPage() method back into ProcessPageView

This commit is contained in:
Ryan Cramer
2021-12-24 11:39:34 -05:00
parent 4344df336b
commit 16f33704fa
2 changed files with 19 additions and 8 deletions

View File

@@ -725,25 +725,25 @@ class LanguageSupport extends WireData implements Module, ConfigurableModule {
$language = $event->arguments(0);
$field = $event->arguments(1);
$value = $event->arguments(2);
$languages = $this->wire()->languages;
$event->return = $page;
if(!is_object($language)) {
if(ctype_digit("$language")) $language = (int) $language;
$language = $this->wire('languages')->get($language);
$language = $languages ? $languages->get($language) : null;
}
if(!$language instanceof Language) throw new WireException('Unknown language set to Page::setLanguageValue');
if($field == 'name') {
// set page name
$languages = $this->wire()->languages;
if($field === 'name' || $field === 'status') {
// set page name or status
if($languages && !$languages->hasPageNames()) {
throw new WireException("Please install LanguageSupportPageNames module before attempting to set multi-language names/paths/URLs.");
throw new WireException("Please install LanguageSupportPageNames module before attempting to set multi-language names/paths/status/URLs.");
}
if($language->isDefault()) {
$page->set("name", $value);
$page->set($field, $value);
} else {
$page->set("name$language->id", $value);
$page->set("$field$language->id", $value);
}
} else {

View File

@@ -107,7 +107,7 @@ class ProcessPageView extends Process {
$pages->setOutputFormatting(true);
if($timerKey) Debug::timer($timerKey);
$page = $request->getPage();
$page = $this->getPage();
if($timerKey) Debug::saveTimer($timerKey, ($page && $page->id ? $page->path : ''));
if($page && $page->id) {
@@ -117,6 +117,17 @@ class ProcessPageView extends Process {
}
}
/**
* Get requested page
*
* @return NullPage|Page
* @throws WireException
*
*/
public function getPage() {
return $this->wire()->pages->request()->getPage();
}
/**
* Render Page
*