Yes that's it, thank you. I had searched thoroughly for this (Google and ZC) and nothing came up - if I had only scrolled up a few posts.
Printable View
I followed your advice regarding creation of categories_CEON.php and product_CEON.php but have discovered that I no longer have URI Mapping fields when viewing manufactures or ezpages in admin.
I created two additional files called manufacturers_CEON.php and ezpages_CEON.php which has resolved that issue, although admin/includes/classes/class.CeonURIMappingAdminManufacturerPages.php appears to need some work as it's using old table layout code.
The main issue I am faced with now is that I can't get the URI Mapping field to display when copying a product. I tried creating a category_product_listing_CEON.php file and that made no difference, so I then tried a copy_product_CEON.php file, and that didn't help either.
Any suggestions on how to get it to work for product copy?
ZC 1.5.7c and URI Mapping v5.1
Ok, some more info for you based on my findings so far.
In one of my copies of URI Mapping (not sure on version) I have admin/includes/auto_loaders/config.ceon_uri_mapping_admin_javascript_loader.php
This file doesn't exist in a fresh download from ceon.net, so clearly not from version 5.1
I checked the content of this file and it calls observers/class.CeonURIMappingJavaScriptLoader.php which is also not present in version 5.1
Upon checking that file it contains
I copied these additional files into my v5.1 installation, and modified observers/class.CeonURIMappingJavaScriptLoader.php to point to the changed location of ceon_uri_mapping_javascript.phpCode:class zcObserverClassCeonURIMappingJavaScriptLoader extends base
{
public function __construct() {
$observeThis = array();
$observeThis[] = 'NOTIFY_ADMIN_FOOTER_END';
$this->attach($this, $observeThis);
}
public function updateNotifyAdminFooterEnd(&$callingClass, $notifier) {
if (file_exists(DIR_WS_INCLUDES . 'ceon_uri_mapping_javascript.php')) {
require DIR_WS_INCLUDES . 'ceon_uri_mapping_javascript.php';
}
}
}
and since doing this the URI Mapping radio buttons are correctly displayed on product copy.Code:public function updateNotifyAdminFooterEnd(&$callingClass, $notifier) {
if (file_exists(DIR_WS_INCLUDES . 'javascript/ceon_uri_mapping_javascript.php')) {
require DIR_WS_INCLUDES . 'javascript/ceon_uri_mapping_javascript.php';
}
}
It seems that some issues have crept into the module somewhere along the way between updates.
I'm now working to fix the layout issue on the manufacturers page URI field
One side effect of the above changes are that the content in the add/edit manufacturers sidebar is now duplicated. I had hoped that removing my earlier manufacturers_CEON.php file would resolve that issue, but no dice, so clearly there are still some issues here.
I seem to have got it working now. I've made multiple edits to resolve the issues I ran into. Not sure on the best way to make them available to you all as there are multiple file edits.
Should I just list them here individually?
Thanks for your efforts, I've not had time to get near this at all.
I would just zip up the changed files and post them here, if allowed. You've spent enough time on it.
Note that the download from the Ceon site is now 5.1, although not shown as such until it is unzipped.
Further discussions should be based on this.
A Github for this would be preferable for reporting issues, but that is up to Ceon support.
Meanwhile, after implementing this, I found two issues.
1) With the installUpgrade script, but only with php8 on strict reporting. I didn't investigate further as this will affect few people at this moment.
2) Ask a question uses GET pid instead of GET products_id
This seems to be half-accounted for with a new observer but still after test-submitting a question
I got:
--> PHP Notice: Undefined index: products_id in .../includes/classes/class.CeonURIMappingHandler.php on line 821.
which is
as at this point for AAQ $_GET['products_id'] does not exist, but $_GET['pid'] does.Quote:
if (isset($_GET['cPath']) && $_GET['cPath'] == zen_get_product_path($_GET['products_id'])) {
Strangely on the subsequent line $_GET['products_id'] and $_GET['pid'] are both unset, implying this issue has been considered but maybe this bit slipped through the net.
Anyway just prior to that I added:
and all seems well.Quote:
//AAQ uses pid
if (!isset($_GET['products_id']) && isset($_GET['pid'])) {
$_GET['products_id'] = $_GET['pid'];
}//eof
While one can't complain about the cost of the support, a public Github would document this and allow feedback both ways. Everyone on all sides is always very busy, so anything that can avoid repeating time spent on discovering, fixing and documenting these bugs and fixes/filechanges would be to everyones benefit (users and Ceon support) and increase visibility to encourage the purchase of the Mappings Manager...Quote:
Worth mentioning that these file changes are fixes for issues raised in this thread.