Quote Originally Posted by mesnitu View Post
Hi
You can. I'm not sure if I can guide you, cause it has been a while since I did that, but look at :
admin/includes/modules/product_bookx/ and compare with the normal product.
The files are this ones:

collect_info.php
copy_to_confirm.php
delete_product_confirm.php
preview_info.php
update_product.php

Ex: For the update , I have a include file, because bookx looks for a additional update_product*.php around line 380 ( I have 0.9.4-revision4 of bookx), but in others I dont', because I became aware of that latter. So see if you can take advantage of that.

PHP Code:
//** look for additional update_product*.php files and include now **//
    
$incl_dir = @dir(DIR_FS_ADMIN '/includes/modules/product_bookx');
    while (
$file $incl_dir->read()) {
        if (
'update_product_' == substr($file015)) {
            include_once 
DIR_FS_ADMIN '/includes/modules/product_bookx/' $file// This should handle any extra values collected in collect_info*.php
        
}
    }
    
$incl_dir->close(); 
So I created a update_product_seo.php that has ( in the same folder)

PHP Code:
// BEGIN CEON URI MAPPING 1 of 1
    
require_once(DIR_WS_CLASSES 'class.CeonURIMappingAdminProductPages.php');
    
    
$ceon_uri_mapping_admin = new CeonURIMappingAdminProductPages();
    
    
$ceon_uri_mapping_admin->updateProductHandler($products_id$zc_products->get_handler($product_type));
    
    
// END CEON URI MAPPING 1 of 1 
For the collect_info.php same thing, created a collect_info_seo.php,

PHP Code:
    // BEGIN CEON URI MAPPING 1 of 2
    
require_once(DIR_WS_CLASSES 'class.CeonURIMappingAdminProductPages.php');
    
    
$ceon_uri_mapping_admin = new CeonURIMappingAdminProductPages();
    
    
$ceon_uri_mapping_admin->collectInfoHandler();
    
    
// END CEON URI MAPPING 1 of 2 
and around line 1158

PHP Code:
 <?php if (isset($extra_html_end)) echo $extra_html_end// this was possibly filled by an included file above ?>
<?php 
// BEGIN CEON URI MAPPING 2 of 2
       
echo $ceon_uri_mapping_admin->collectInfoBuildURIMappingFields();
// END CEON URI MAPPING 2 of 2 ?>
In the preview_info.php , it's diferent (don't ask me why)
Around line 84 you'll see :

PHP Code:
foreach ($bookx_author_ids as $key => $author_id) {
              
$pInfo->authors_display .= (!empty($pInfo->authors_display) ? ' | ' '') . ($bookx_author_type_ids bookx_get_author_type_description($bookx_author_type_ids[$key], (int)$_SESSION['languages_id']) . ': ' '') . bookx_get_author_name($author_id);
          }
      }
// BEGIN CEON URI MAPPING 1 of 4
      
require_once(DIR_WS_CLASSES 'class.CeonURIMappingAdminProductPages.php');
      
      
$ceon_uri_mapping_admin = new CeonURIMappingAdminProductPages();
      
      
$ceon_uri_mapping_admin->productPreviewProcessSubmission($current_category_id);
      
      
// END CEON URI MAPPING 1 of 4
      
      
    
} else { 
Around line 146

PHP Code:
while (!$genres->EOF) {
          
$pInfo->genres_display .= (!empty($pInfo->genres_display) ? ' | ' '') . $genres->fields['genre_description'];
          
$genres->MoveNext();
      }
      
      
// BEGIN CEON URI MAPPING 2 of 4
      
require_once(DIR_WS_CLASSES 'class.CeonURIMappingAdminProductPages.php');
      
      
$ceon_uri_mapping_admin = new CeonURIMappingAdminProductPages();
      
      
$ceon_uri_mapping_admin->productPreviewInitialLoad((int) $_GET['pID'],
        
$zc_products->get_handler((int) $_GET['product_type']));
      
      
// END CEON URI MAPPING 2 of 4

    

Line 274

PHP Code:
<tr>
        <td class="main"><?php echo sprintf(TEXT_PRODUCT_MORE_INFORMATION$pInfo->products_url); ?></td>
      </tr>
<?php
      
}
?>
      <?php // BEGIN CEON URI MAPPING 3 of 4
      
$ceon_uri_mapping_admin->productPreviewOutputURIMappingInfo($languages[$i]);
      
// END CEON URI MAPPING 3 of 4 ?>
      <tr>
        <td><?php echo zen_draw_separator('pixel_trans.gif''1''10'); ?></td>
      </tr>
Around 353

PHP Code:
echo ( (isset($_GET['search']) && !empty($_GET['search'])) ? zen_draw_hidden_field('search'$_GET['search']) : '') . ( (isset($_POST['search']) && !empty($_POST['search']) && empty($_GET['search'])) ? zen_draw_hidden_field('search'$_POST['search']) : '');
      
// BEGIN CEON URI MAPPING 4 of 4
      
echo $ceon_uri_mapping_admin->productPreviewBuildHiddenFields();
// END CEON URI MAPPING 4 of 4
      
echo zen_image_submit('button_back.gif'IMAGE_BACK'name="edit"') . '####'
copy_to_confirm.php

PHP Code:
if ($_POST['copy_discounts'] == 'copy_discounts_yes') {
              
zen_copy_discounts_to_product($old_products_id, (int)$dup_products_id);
            }

            
// BEGIN CEON URI MAPPING 1 of 1
            
require_once(DIR_WS_CLASSES 'class.CeonURIMappingAdminProductPages.php');
            
            
$ceon_uri_mapping_admin = new CeonURIMappingAdminProductPages();
            
            
$ceon_uri_mapping_admin->copyToConfirmHandler($products_id_from$products_id_to,
              
$product->fields['products_type'], $zc_products->get_handler($product->fields['products_type']),
              
$categories_id);
            
            
// END CEON URI MAPPING 1 of 1 
But I also have the metatags ( not entirely working ), so in this folder I have

collect_info_metatags.php
collect_info_seo.php
delete_product_confirm.php
preview_info.php
update_product_seo.php
collect_info.php
copy_to_confirm.php
preview_info_meta_tags.php
update_product.php

I don't remember changing anything in meta_tags files. I think I just copy from modules/product
Note: Metatags are working as normal product, but as I remember without them, I couldn't had any metatags at all.
This is what I remember.... hope it can guide you.
First let me thank you very, very much for easy populate/bookx plugin! Installed and working without a glitch. using Easy Populate 4.0.33a - Beta 02-29-2016 w/ BookX0.9.9

I know it has been some time since I tried to implement the ceon URI mods you stated above but I could never get it to work as intended. Could you provide some help at this time? My setup:
Zen Cart 1.54
Responsive_sheffield_blue v2.0 template
Bookx version 0.9.4 r8
PHP Version 5.3.29

When I tried to implement the changes you outlined above, I got the ceon uri code at the top of the collect_info page and could not get any further, and of course no ceon box at the bottom of the page, so could we start there if you have the time. There were other problems but I thought if I could get the collect_info.php working I might be able to figure out the other pages and maybe the metatags problems also.

Best regards,

Frank