Wherever that line is, it should be coded as
"SELECT * FROM " . TABLE_CONFIGURATION . " WHERE configuration_key LIKE 'PL_%'"
Printable View
Some of the issues seem to be related to the old database I am importing, so a clean test environment would not help, but I agree its always wise to backup site and database before trying (and to test everything before you take a site live).
# Trial no. 1
Ran the pricelist_remove.sql script on my ZC 1.5.8 test install
Logged in to admin on the test install and saw a blank screen with the text "WARNING: An Error occurred, please let us know! If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you entered valid data."
Checked the logs on the test install.
# Trial no. 2Code:[11-Jan-2024 16:33:43 America/Vancouver] Request URI: /1.5.8/MY_ADMIN/, IP address: 75.156.33.72, Language id 1
#1 trigger_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:667]
#2 queryFactory->show_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:634]
#3 queryFactory->set_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:275]
#4 queryFactory->Execute() called at [/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php:155]
#5 require_once(/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php) called at [/WEBROOT/includes/autoload_func.php:40]
#6 require(/WEBROOT/includes/autoload_func.php) called at [/WEBROOT/MY_ADMIN/includes/application_top.php:42]
#7 require(/WEBROOT/MY_ADMIN/includes/application_top.php) called at [/WEBROOT/MY_ADMIN/home.php:9]
#8 require(/WEBROOT/MY_ADMIN/home.php) called at [/WEBROOT/MY_ADMIN/index.php:11]
--> PHP Fatal error: 1062:Duplicate entry 'PL_HEADER_LOGO_1' for key 'unq_config_key_zen' :: INSERT INTO configuration
(configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added)
VALUES
('Enable Profile?', 'PL_ENABLE_1', 'true', 'Choose <em>true</em> to enable this price-list profile to be used on the <em>pricelist</em> page.', 42, 10, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Group Name', 'PL_GROUP_NAME_1', '', 'Set this field to a <b>Group Name</b> (see <em>Customers->Group Pricing</em>) to enable this profile <em>only</em> for customers in that group. Leave the field empty for the profile to apply to all customers.', 42, 15, NULL, NULL, now()),
('Profile Name', 'PL_PROFILE_NAME_1', 'Product Profile 1', 'Give this profile a name.', 42, 20, NULL, NULL, now()),
('Display Linked Products?', 'PL_USE_MASTER_CATS_ONLY_1', 'false', 'Should products be listed under all linked categories (<em>false</em>) or only under their master-category (<em>true</em>)?', 42, 32, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Selections?', 'PL_SHOW_BOXES_1', 'true', 'Set this value to <em>true</em> to display language and currency selections as well as a categories dropdown menu.', 42, 35, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Categories Dropdown: Main Only?', 'PL_CATEGORY_TREE_MAIN_CATS_ONLY_1', 'true', 'Should the categories dropdown menu contain <em>only</em> the main categories? If set to <em>false</em>, then <b>all</b> categories are displayed. <b>Note:</b> This setting is ignored if <em>Show Selections</em> is set to <em>false</em>', 42, 37, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Main Categories: New Page', 'PL_MAINCATS_NEW_PAGE_1', 'false', 'If true, main categories on the printed price-list will start on a new page.', 42, 40, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('No Wrap', 'PL_NOWRAP_1', 'false', 'To enable or disable wrapping on screen (nowrap is easier for debugging)', 42, 60, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Model', 'PL_SHOW_MODEL_1', 'true', 'Display each product\'s model number in a separate column?', 42, 100, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Manufacturer', 'PL_SHOW_MANUFACTURER_1', 'true', 'Display each product\'s manufacturer in a separate column?', 42, 105, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Weight', 'PL_SHOW_WEIGHT_1', 'false', 'Display each product\'s weight in a separate column?', 42, 110, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Stock-on-Hand', 'PL_SHOW_SOH_1', 'false', 'Display each product\'s stock-on-hand in a separate column?', 42, 115, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Notes (A)', 'PL_SHOW_NOTES_A_1', 'false', 'Display an empty column for each product, allowing the customer to make notes?', 42, 120, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Notes (B)', 'PL_SHOW_NOTES_B_1', 'false', 'Display another empty column for each product, allowing the customer to make notes?', 42, 125, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Price', 'PL_SHOW_PRICE_1', 'true', 'Display each product\'s price, including or excluding tax based on your shop\'s tax-configuration settings)?', 42, 130, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Price (ex)', 'PL_SHOW_TAX_FREE_1', 'false', 'Display each product\'s tax-free price in a separate column?', 42, 135, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Specials Prices?', 'PL_SHOW_SPECIAL_PRICE_1', 'true', 'Display each product\'s "special" price? If <em>true</em>, the script will execute 4 extra queries per product!', 42, 140, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Specials Expiry?', 'PL_SHOW_SPECIAL_DATE_1', 'false', 'Show special price expiry date? This works <em>only</em> for specials (not for pricing by attributes and sales). Executes one extra query per special if enabled.', 42, 145, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Add-to-Cart', 'PL_SHOW_ADDTOCART_BUTTON_1', 'false', 'Display an add-to-cart button for each product? If the product has attributes, a "More info" link displays instead.', 42, 150, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Add-to-Cart Button Target', 'PL_ADDTOCART_TARGET_1', 'Cartpage', 'How to react to an Add-to-Cart button click: <em>Cartpage</em> sends all results to the same web page, <em>_self</em> sends result to the current page and <em>_blank</em> sends each result to a new page.', 42, 155, NULL, 'zen_cfg_select_option(array(\'Cartpage\', \'_self\', \'_blank\'),', now()),
('Show Product Images?', 'PL_SHOW_IMAGE_1', 'false', 'Display each product\'s image?', 42, 160, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Image Height', 'PL_IMAGE_PRODUCT_HEIGHT_1', '80', 'If the product images are to be displayed, what is the height of each image?', 42, 165, NULL, NULL, now()),
('Image Width', 'PL_IMAGE_PRODUCT_WIDTH_1', '100', 'If the product images are to be displayed, what is the width of each image?', 42, 170, NULL, NULL, now()),
('Show Descriptions?', 'PL_SHOW_DESCRIPTION_1', 'false', 'Display each product\'s description?', 42, 175, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Truncate Descriptions?', 'PL_TRUNCATE_DESCRIPTION_1', '300', 'If <em>Show Descriptions?</em> is set to <b>true</b> and this field is a value other than 0 or blank, product descriptions will be truncated to this length — HTML will be stripped.', 42, 180, NULL, NULL, now()),
('Show Inactive Products and Categories?', 'PL_SHOW_INACTIVE_1', 'false', 'Set this value to <em>true</em> to include disabled products and categories in the list.', 42, 200, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Sort By: Field', 'PL_SORT_PRODUCTS_BY_1', 'products_price', 'How products are sorted within a category', 42, 210, NULL, 'zen_cfg_select_option(array(\'products_name\', \'products_price\', \'products_model\' ),', now()),
('Sort By: Asc/Desc', 'PL_SORT_ASC_DESC_1', 'asc', 'Sort ascending or descending', 42, 215, NULL, 'zen_cfg_select_option(array(\'asc\', \'desc\' ),', now()),
('Enable Debug?', 'PL_DEBUG_1', 'false', 'If true debug info is shown', 42, 200, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Store Logo On-Screen?', 'PL_HEADER_LOGO_1', 'true', 'Display the store\'s logo at the top of the screen?', 42, 260, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Page Headers?', 'PL_SHOW_PRICELIST_PAGE_HEADERS_1', 'false', 'If true the page headers on each page are shown (screen and print).', 42, 270, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Page Footers?', 'PL_SHOW_PRICELIST_PAGE_FOOTERS_1', 'true', 'If true the page footers on each page are shown (screen and print).', 42, 280, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()) ==> (as called by) /WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php on line 155 <== in /WEBROOT/includes/classes/db/mysql/query_factory.php on line 667.
Looked at a second test install on the same host, its broken after I tried to install PPL.
# Trial no. 3
Logged in to a test install on my own host with clean data. It has traces of a failed install of PPL.
# Trial no. 4
Created a clean install of ZC 1.5.8a on my own host with a new empty database. Site appears blank after the 'remove zc_install' phase.
Trial no. 5 will come after a meeting
# Trial no. 5
Hypothesis: the problem is caused because the imported database has traces of a ZC 1.5.4 install with PPL and the installation process tries to INSERT things which already exist
Restored my modified install of ZC 1.5.8 with imported data from ZC 1.5.4
SELECT * FROM configuration WHERE configuration_key LIKE 'PL_%'; returns 119 lines
SELECT * FROM configuration_group WHERE configuration_group_title='Printable Price-list'; returns 1 line
SELECT * FROM configuration_group WHERE configuration_group_title LIKE 'Price-list Profile-%'; returns 3 lines
SELECT * FROM admin_pages WHERE page_key LIKE 'config%Pricelist%'; returns 4 lines
Ran the following SQL commands in phpMyAdmin:
DELETE FROM configuration WHERE configuration_key LIKE 'PL_%';
DELETE FROM configuration_group WHERE configuration_group_title='Printable Price-list';
DELETE FROM configuration_group WHERE configuration_group_title LIKE 'Price-list Profile-%';
DELETE FROM admin_pages WHERE page_key LIKE 'config%Pricelist%';
Uploaded ONG's fix to PPL, extracted it, copied the folders into the appropriate folder in my ZC 1.5.8 install with the upgraded data from 1.5.8, and clicked any button in the admin interface:
Blank screen with "WARNING: An Error occurred, please let us know! If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you entered valid data.
Three logged errors. The SQL commands are very long so I will only quote one in full.
Code:[12-Jan-2024 13:39:58 America/Vancouver] Request URI: /1.5.8/MY_ADMIN/, IP address: 172.218.225.67, Language id 1
#1 trigger_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:667]
#2 queryFactory->show_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:634]
#3 queryFactory->set_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:275]
#4 queryFactory->Execute() called at [/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php:155]
#5 require_once(/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php) called at [/WEBROOT/includes/autoload_func.php:40]
#6 require(/WEBROOT/includes/autoload_func.php) called at [/WEBROOT/MY_ADMIN/includes/application_top.php:42]
#7 require(/WEBROOT/MY_ADMIN/includes/application_top.php) called at [/WEBROOT/MY_ADMIN/home.php:9]
#8 require(/WEBROOT/MY_ADMIN/home.php) called at [/WEBROOT/MY_ADMIN/index.php:11]
--> PHP Fatal error: 1062:Duplicate entry 'PL_HEADER_LOGO_1' for key 'unq_config_key_zen' :: INSERT INTO configuration
(configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added)
VALUES
('Enable Profile?', 'PL_ENABLE_1', 'true', 'Choose <em>true</em> to enable this price-list profile to be used on the <em>pricelist</em> page.', 42, 10, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Group Name', 'PL_GROUP_NAME_1', '', 'Set this field to a <b>Group Name</b> (see <em>Customers->Group Pricing</em>) to enable this profile <em>only</em> for customers in that group. Leave the field empty for the profile to apply to all customers.', 42, 15, NULL, NULL, now()),
('Profile Name', 'PL_PROFILE_NAME_1', 'Product Profile 1', 'Give this profile a name.', 42, 20, NULL, NULL, now()),
('Display Linked Products?', 'PL_USE_MASTER_CATS_ONLY_1', 'false', 'Should products be listed under all linked categories (<em>false</em>) or only under their master-category (<em>true</em>)?', 42, 32, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Selections?', 'PL_SHOW_BOXES_1', 'true', 'Set this value to <em>true</em> to display language and currency selections as well as a categories dropdown menu.', 42, 35, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Categories Dropdown: Main Only?', 'PL_CATEGORY_TREE_MAIN_CATS_ONLY_1', 'true', 'Should the categories dropdown menu contain <em>only</em> the main categories? If set to <em>false</em>, then <b>all</b> categories are displayed. <b>Note:</b> This setting is ignored if <em>Show Selections</em> is set to <em>false</em>', 42, 37, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Main Categories: New Page', 'PL_MAINCATS_NEW_PAGE_1', 'false', 'If true, main categories on the printed price-list will start on a new page.', 42, 40, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('No Wrap', 'PL_NOWRAP_1', 'false', 'To enable or disable wrapping on screen (nowrap is easier for debugging)', 42, 60, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Model', 'PL_SHOW_MODEL_1', 'true', 'Display each product\'s model number in a separate column?', 42, 100, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Manufacturer', 'PL_SHOW_MANUFACTURER_1', 'true', 'Display each product\'s manufacturer in a separate column?', 42, 105, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Weight', 'PL_SHOW_WEIGHT_1', 'false', 'Display each product\'s weight in a separate column?', 42, 110, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Stock-on-Hand', 'PL_SHOW_SOH_1', 'false', 'Display each product\'s stock-on-hand in a separate column?', 42, 115, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Notes (A)', 'PL_SHOW_NOTES_A_1', 'false', 'Display an empty column for each product, allowing the customer to make notes?', 42, 120, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Notes (B)', 'PL_SHOW_NOTES_B_1', 'false', 'Display another empty column for each product, allowing the customer to make notes?', 42, 125, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Price', 'PL_SHOW_PRICE_1', 'true', 'Display each product\'s price, including or excluding tax based on your shop\'s tax-configuration settings)?', 42, 130, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Price (ex)', 'PL_SHOW_TAX_FREE_1', 'false', 'Display each product\'s tax-free price in a separate column?', 42, 135, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Specials Prices?', 'PL_SHOW_SPECIAL_PRICE_1', 'true', 'Display each product\'s "special" price? If <em>true</em>, the script will execute 4 extra queries per product!', 42, 140, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Specials Expiry?', 'PL_SHOW_SPECIAL_DATE_1', 'false', 'Show special price expiry date? This works <em>only</em> for specials (not for pricing by attributes and sales). Executes one extra query per special if enabled.', 42, 145, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Columns: Add-to-Cart', 'PL_SHOW_ADDTOCART_BUTTON_1', 'false', 'Display an add-to-cart button for each product? If the product has attributes, a "More info" link displays instead.', 42, 150, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Add-to-Cart Button Target', 'PL_ADDTOCART_TARGET_1', 'Cartpage', 'How to react to an Add-to-Cart button click: <em>Cartpage</em> sends all results to the same web page, <em>_self</em> sends result to the current page and <em>_blank</em> sends each result to a new page.', 42, 155, NULL, 'zen_cfg_select_option(array(\'Cartpage\', \'_self\', \'_blank\'),', now()),
('Show Product Images?', 'PL_SHOW_IMAGE_1', 'false', 'Display each product\'s image?', 42, 160, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Image Height', 'PL_IMAGE_PRODUCT_HEIGHT_1', '80', 'If the product images are to be displayed, what is the height of each image?', 42, 165, NULL, NULL, now()),
('Image Width', 'PL_IMAGE_PRODUCT_WIDTH_1', '100', 'If the product images are to be displayed, what is the width of each image?', 42, 170, NULL, NULL, now()),
('Show Descriptions?', 'PL_SHOW_DESCRIPTION_1', 'false', 'Display each product\'s description?', 42, 175, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Truncate Descriptions?', 'PL_TRUNCATE_DESCRIPTION_1', '300', 'If <em>Show Descriptions?</em> is set to <b>true</b> and this field is a value other than 0 or blank, product descriptions will be truncated to this length — HTML will be stripped.', 42, 180, NULL, NULL, now()),
('Show Inactive Products and Categories?', 'PL_SHOW_INACTIVE_1', 'false', 'Set this value to <em>true</em> to include disabled products and categories in the list.', 42, 200, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Sort By: Field', 'PL_SORT_PRODUCTS_BY_1', 'products_price', 'How products are sorted within a category', 42, 210, NULL, 'zen_cfg_select_option(array(\'products_name\', \'products_price\', \'products_model\' ),', now()),
('Sort By: Asc/Desc', 'PL_SORT_ASC_DESC_1', 'asc', 'Sort ascending or descending', 42, 215, NULL, 'zen_cfg_select_option(array(\'asc\', \'desc\' ),', now()),
('Enable Debug?', 'PL_DEBUG_1', 'false', 'If true debug info is shown', 42, 200, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Store Logo On-Screen?', 'PL_HEADER_LOGO_1', 'true', 'Display the store\'s logo at the top of the screen?', 42, 260, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Page Headers?', 'PL_SHOW_PRICELIST_PAGE_HEADERS_1', 'false', 'If true the page headers on each page are shown (screen and print).', 42, 270, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()),
('Show Page Footers?', 'PL_SHOW_PRICELIST_PAGE_FOOTERS_1', 'true', 'If true the page footers on each page are shown (screen and print).', 42, 280, NULL, 'zen_cfg_select_option(array(\'true\', \'false\'),', now()) ==> (as called by) /WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php on line 155 <== in /WEBROOT/includes/classes/db/mysql/query_factory.php on line 667
Code:[12-Jan-2024 13:39:54 America/Vancouver] Request URI: /1.5.8/MY_ADMIN/, IP address: 172.218.225.67, Language id 1
#1 trigger_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:667]
#2 queryFactory->show_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:634]
#3 queryFactory->set_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:275]
#4 queryFactory->Execute() called at [/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php:155]
#5 require_once(/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php) called at [/WEBROOT/includes/autoload_func.php:40]
#6 require(/WEBROOT/includes/autoload_func.php) called at [/WEBROOT/MY_ADMIN/includes/application_top.php:42]
#7 require(/WEBROOT/MY_ADMIN/includes/application_top.php) called at [/WEBROOT/MY_ADMIN/home.php:9]
#8 require(/WEBROOT/MY_ADMIN/home.php) called at [/WEBROOT/MY_ADMIN/index.php:11]
--> PHP Fatal error: 1062:Duplicate entry 'PL_HEADER_LOGO_1' for key 'unq_config_key_zen' :: INSERT INTO configuration ...
I will double-check with the client but at this point I think I will abandon this plugin.Code:[12-Jan-2024 13:39:51 America/Vancouver] Request URI: /1.5.8/MY_ADMIN/keepalive.php?_=1705095253356, IP address: 172.218.225.67, Language id 1
#1 trigger_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:667]
#2 queryFactory->show_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:634]
#3 queryFactory->set_error() called at [/WEBROOT/includes/classes/db/mysql/query_factory.php:275]
#4 queryFactory->Execute() called at [/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php:155]
#5 require_once(/WEBROOT/MY_ADMIN/includes/init_includes/init_price_list_admin.php) called at [/WEBROOT/includes/autoload_func.php:40]
#6 require(/WEBROOT/includes/autoload_func.php) called at [/WEBROOT/MY_ADMIN/includes/application_top.php:42]
#7 require(/WEBROOT/MY_ADMIN/includes/application_top.php) called at [/WEBROOT/MY_ADMIN/keepalive.php:9]
--> PHP Fatal error: 1062:Duplicate entry 'PL_HEADER_LOGO_1' for key 'unq_config_key_zen' :: INSERT INTO configuration ...
When you imported the zc154 data into the zc158a database did you run zc_install to update the database structure to 158a and check each upgrade step was completed successfully without error?
Are you working on a clean install of zc158a files or have you copied some of the old zc154 files over to the new installation that you are working on?
Without seeing your installation the steps I would take are:
Remove all old printable-pricelist files from the test setup
Import the zc154 data into the test zc158a installation
Run zc_install to update the database to zc158a
Resolve any issues shown in the debug files
Use the sql script in phpmyadmin to delete the "PL_" references in the configuration table. Check that all the values have been removed and that there are no errors.
copy the new zc158 files for printable-pricelist to the correct structure in zc158a
open the admin console and check that all is working as expected.
I followed the instructions for a database-only upgrade of the ZC 1.5.4 install, plus the additional steps to convert the database from latin-1 to utf8. I think I built the customer-facing part of the new site entirely by hand, editing the new language.whatever files to contain text from the old site and configuring other things through the Admin interface.
I might try one or two of those ideas on my own time as a service to the project but the plugin is not worth more time to the client.
I've got an 'encapsulated plugin' version of Printable Price List staged for release: https://github.com/lat9/printable_price_list/tree/4.0.0
It requires Zen Cart 1.5.8a or later (i.e. 2.0.0 and 2.0.1 at this time) but should make its use (and updates) easier going forward.
If you're upgrading from a previous version be sure to read the various Wiki articles (https://github.com/lat9/printable_price_list/wiki) since you will need to remove all files associated with that prior version before installing the new one. Your existing configuration settings will be preserved.
Printable Price List, v4.0.0, is now available for download: https://www.zen-cart.com/downloads.php?do=file&id=173
This version is released as a Zen Cart encapsulated plugin.
It's been validated with zc158a and the zc200 (and later) releases. If you are upgrading from a previous, non-encapsulated, version of the plugin be sure to read the readme.html provided in the plugin's distribution since you'll need to remove the files associated with that previous version!
A nice refresh for one of our earlier plugins! Thank you @lat9.
Sugggested addition to
https://github.com/lat9/printable_pr...rior-to-v4.0.0
Be sure you also remove the *folder*
/includes/modules/pages/pricelist/
(not just the header_php.php under it).