mirror of
https://github.com/processwire/processwire.git
synced 2025-08-10 16:54:44 +02:00
Enhance Page::localName() method per processwire/processwire-issues#373
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
* 1. Providing get/set access to the Page's properties
|
* 1. Providing get/set access to the Page's properties
|
||||||
* 2. Accessing the related hierarchy of pages (i.e. parents, children, sibling pages)
|
* 2. Accessing the related hierarchy of pages (i.e. parents, children, sibling pages)
|
||||||
*
|
*
|
||||||
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
|
* ProcessWire 3.x, Copyright 2017 by Ryan Cramer
|
||||||
* https://processwire.com
|
* https://processwire.com
|
||||||
*
|
*
|
||||||
* #pw-summary Class used by all Page objects in ProcessWire.
|
* #pw-summary Class used by all Page objects in ProcessWire.
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
*
|
*
|
||||||
* Methods added by LanguageSupportPageNames.module (not installed by default)
|
* Methods added by LanguageSupportPageNames.module (not installed by default)
|
||||||
* ---------------------------------------------------------------------------
|
* ---------------------------------------------------------------------------
|
||||||
* @method string localName($language = null) Return the page name in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
* @method string localName($language = null, $useDefaultWhenEmpty = false) Return the page name in the current user’s language, or specify $language argument (Language object, name, or ID), or TRUE to use default page name when blank (instead of 2nd argument). #pw-group-languages
|
||||||
* @method string localPath($language = null) Return the page path in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
* @method string localPath($language = null) Return the page path in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
||||||
* @method string localUrl($language = null) Return the page URL in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
* @method string localUrl($language = null) Return the page URL in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
||||||
* @method string localHttpUrl($language = null) Return the page URL (including scheme and hostname) in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
* @method string localHttpUrl($language = null) Return the page URL (including scheme and hostname) in the current user's language, or specify $language argument (Language object, name, or ID). #pw-group-languages
|
||||||
|
@@ -611,7 +611,8 @@ class LanguageSupportPageNames extends WireData implements Module, ConfigurableM
|
|||||||
/**
|
/**
|
||||||
* Add a Page::localName function with optional $language as argument
|
* Add a Page::localName function with optional $language as argument
|
||||||
*
|
*
|
||||||
* event param Language|string|int Optional language
|
* event param Language|string|int|bool Optional language, or boolean true for behavior of 2nd argument.
|
||||||
|
* event param bool Substitute default language page name when page name is not defined for requested language.
|
||||||
* event return string Localized language name or blank if not set
|
* event return string Localized language name or blank if not set
|
||||||
*
|
*
|
||||||
* @param HookEvent $event
|
* @param HookEvent $event
|
||||||
@@ -623,6 +624,9 @@ class LanguageSupportPageNames extends WireData implements Module, ConfigurableM
|
|||||||
$nameField = $language->isDefault() ? "name" : "name$language";
|
$nameField = $language->isDefault() ? "name" : "name$language";
|
||||||
$value = $page->get($nameField);
|
$value = $page->get($nameField);
|
||||||
if(is_null($value)) $value = '';
|
if(is_null($value)) $value = '';
|
||||||
|
if(empty($value) && $nameField !== 'name' && ($event->arguments(0) === true || $event->arguments(1) === true)) {
|
||||||
|
$value = $page->name;
|
||||||
|
}
|
||||||
$event->return = $value;
|
$event->return = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user