ethercreative / seo

SEO utilities including a unique field type, sitemap & redirect manager
MIT License
276 stars 95 forks source link

Override single field only when using `craft.seo.custom` #488

Open BigglesZX opened 1 month ago

BigglesZX commented 1 month ago

I have implemented code similar to the solution posted in #66 to provide default social images if they aren't specified on the entry. However when using craft.seo.custom I have to re-specify the title, description and any other fields I want to output, otherwise they are empty. In other words the custom parameters/object are not merged with the site/entry defaults, they replace them.

There is an issue with double-suffixes being applied to my titles if I for example do this:

{% set seo = craft.seo.custom(
    entry.seo.title,
    entry.seo.description,
    # ... custom image stuff
) %}

...because entry.seo.title has already undergone some processing to add the suffix, it's not ideal to re-use it in this way.

Therefore it would be really useful if there was an option to provide only overrides to the craft.seo.custom function and not a complete replacement configuration object.

If this is already possible and I've just missed it somehow I would appreciate a pointer. Thanks!

Additional info