Generate the sitemap file: array_key_exists() expects parameter 2 to be array, null given

Permalink Browser Info Environment
I think this add-on is breaking the "Generate Sitemap" automated job with the following error:

Generate the sitemap file: array_key_exists() expects parameter 2 to be array, null given


See attached.

I restored my C5 instance from a backup before installing this add-on, and the Generate Sitemap automated job works as expected. Once the Devoda SEO package was installed, this error is given.

Not sure if it's relevant or not, but I'm using C5 8.5.

Can you please advise?

Thanks in advance

1 Attachment

Type: Pre-Sale
Status: Resolved
View Replies:
ramonleenders replied on at Permalink Reply
ramonleenders
Hi there,

There is an issue in the current concrete5 version (8.5.0). You can make this change yourself now, if you'd like:

https://github.com/concrete5/concrete5/pull/7691/files...

It's only 1 file change. After doing this, you can update Devoda SEO too, as you need to update since core code change (hence the error they made).

So the combination of editing the core file and updating the Add-On, will make it work. You can also wait for an update of the CMS, since this bug is fixed in the upcoming version (probably version 8.5.1, but not sure if they add more in the next update and make it 8.6.0).

Does that work for you?

Kind regards,

Ramon
baysmedia replied on at Permalink Reply
No problem. I've edited the concrete/src/Page/Sitemap/Event/XmlReadyEvent.php as suggested however there's no update pending for the add-on (at least not through the Dashboard) despite my installed version being 1.5.2 and the marketplace clearly stating that the latest version is 1.5.3.

Can you advise how I can manually download it?
ramonleenders replied on at Permalink Reply
ramonleenders
Hi there,

Can you look if you can update now? The marketplace is acting strange on serving versions of the Add-On but should be OK now.

Kind regards,

Ramon
baysmedia replied on at Permalink Reply
Thanks - I was able to update today and I have been able to successfully generate the sitemap.xml.

Thanks for the prompt support!
ramonleenders replied on at Permalink Reply
ramonleenders
Hi there,

Glad it's working as expected. Drop a product review if you have the time to do so! :)

Kind regards,

Ramon

concrete5 Environment Information

# concrete5 Version
Core Version - 8.5.0
Version Installed - 8.5.0
Database Version - 20190301133300

# concrete5 Packages
Automatic Email Obfuscator (2.0.1), Cookies Notice (1.3.2), Deluxe Customizable Twitter Feed (1.0.4), Devoda SEO (1.5.2), Fundamental (4.0.7), Image Optimizer (3.2.7), Instafolio (1.7), QRT Facebook Blocks (0.0.3), Spacer (0.9.4)

# concrete5 Overrides
None

# concrete5 Cache Settings
Block Cache - On
Overrides Cache - On
Full Page Caching - On - If blocks on the particular page allow it.
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache

# Server API
apache2handler

# PHP Version
7.2.16

# PHP Extensions
apache2handler, bz2, calendar, Core, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, json, libxml, mbstring, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, tidy, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 512M
post_max_size - 10M
upload_max_filesize - 10M
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5

Browser User-Agent String

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.