Closed andrewhawkes closed 1 month ago
Hi, i have the same problem!
Can confirm I have the same exact problem on two different sites running Craft 5.
Changing it to {{ title }}
to match {{ siteName }}
does not appear to resolve the issue. Nor does {{ entry.title }}
.
After further investigation, it appears there are multiple issues contributing to the problem.
_getVariables
method in SeoData.php
only adds custom fields to the $variables
array that compiles the title template. Adding the following snippet appends all native attributes of the entry to the $variables
array.foreach ($this->_element->attributes() as $attribute) {
$variables[$attribute] = $this->_element->{$attribute};
}
However, it probably isn't the best practice to do this since there could easily be naming conflicts. Rather, it would be better to add element
as a new attribute of the $variables
array. The title token would then be {{ element.title }}
.
if (!array_key_exists('element', $variables) && $this->_element)
$variables['element'] = $this->_element;
_renderObjectTemplate
method in SeoData.php
doesn't appear to be accepting the variables passed in. I ended up changing:
$str = Craft::$app->view->renderObjectTemplate($template, $object);
To:
$str = Craft::$app->view->renderObjectTemplate($template, [], $object);
In my testing these changes work. However, I'm not familiar enough with Craft's Element model and renderObjectTemplate to recommend this solution, otherwise I would submit a pull request. Perhaps the maintainer of the plugin can weigh in.
This problem is fixed now with v5.0.0-rc3. Thank you @Tam
I think I have this same issue with v4.2.2 of the plugin. Has anyone else running the same version run into this error?
Not sure if this is part of the same issue - but if you have a title that contains a |
or -
only the text after those characters is used for the {title}
I.e. if the title of an entry is ABC | 123
the meta title will be 123
Description
In the settings I have the default settings to use the entry title and site name:
When creating a new entry, the title does not get used from the entry:
I noticed this started happening after upgrading from v5.0.0-rc1
Steps to reproduce
Additional info