qxonn Posted December 27, 2010 Share Posted December 27, 2010 Is it possible to have the site search include the slave products model # and description, with a link to the master product? Any tips for doing so before I take a stab at it? It's good to see support for this great contribution be continued for the latest release. Quote Link to comment Share on other sites More sharing options...
tgely Posted December 27, 2010 Share Posted December 27, 2010 Is it possible to have the site search include the slave products model # and description, with a link to the master product? Any tips for doing so before I take a stab at it? It's good to see support for this great contribution be continued for the latest release. I think possible. We take a standard seach and get products_master string as results. After we have to take an array and we can list something. First we try to finish Beta. Would be important to make with something slave popup page. There are a lot of facilities (JQuery popup or something like original JAVASRIPT) I cant see at this moment slave url seo. All of the links go to master so maybe websearchers dont like it. Does somebody have experriencies? Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
pdcelec Posted December 27, 2010 Share Posted December 27, 2010 I think possible. We take a standard seach and get products_master string as results. After we have to take an array and we can list something. First we try to finish Beta. Would be important to make with something slave popup page. There are a lot of facilities (JQuery popup or something like original JAVASRIPT) I cant see at this moment slave url seo. All of the links go to master so maybe websearchers dont like it. Does somebody have experriencies? I think I have slave SEO url's. But I dont understand what it supposed to be happening with the products http://www dot electricalcity.co.uk Quote Link to comment Share on other sites More sharing options...
pdcelec Posted December 28, 2010 Share Posted December 28, 2010 (edited) I have set up a test shop. When the suggested accessories box is activated it causes a display problem in IE9 http://www dot electricalcity.co.uk/sample1/ I have tried Ultimate URLs (USU 5 Pro) and they work fine on the suggested accessories box, but not on the product listing page edit:: the SEO urls work fine if the master an slave products are placed in a category. Edited December 28, 2010 by pdcelec Quote Link to comment Share on other sites More sharing options...
tgely Posted December 28, 2010 Share Posted December 28, 2010 Is it possible to have the site search include the slave products model # and description, with a link to the master product? Any tips for doing so before I take a stab at it? This is more simple. Change in advanced_search_result.php // Master Products $where_str = " where p.products_status = '1' and p.products_master = '0' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id "; //Master Products EOF to: // Master Products $where_str = " where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id "; //Master Products EOF Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted December 28, 2010 Share Posted December 28, 2010 I have tried Ultimate URLs (USU 5 Pro) and they work fine on the suggested accessories box, but not on the product listing page I see. I try to find something. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
pdcelec Posted December 28, 2010 Share Posted December 28, 2010 edit:: the SEO urls work fine if the master an slave products are placed in a category. Quote Link to comment Share on other sites More sharing options...
pdcelec Posted December 28, 2010 Share Posted December 28, 2010 Error Type: [E_NOTICE] Undefined index: products_set_only in application_top This is the offending part //Master Products if ($_GET['products_set_only']) { Would I be right in saying to change it to if (isset($_GET['products_set_only'])) { Quote Link to comment Share on other sites More sharing options...
tgely Posted December 28, 2010 Share Posted December 28, 2010 Error Type: [E_NOTICE] Undefined index: products_set_only in application_top This is the offending part //Master Products if ($_GET['products_set_only']) { Would I be right in saying to change it to if (isset($_GET['products_set_only'])) { Yes this is good idea but 'products_set_only' maybe redundant. I think would be better to use parameters in links like this: /products_info.php?products_id=xx&slave_id=yy from previous pages or suggested_accessories or anywhere. tep_href_link(FILENAME_PRODUCT_INFO . '?products_id=' . $HTTP_GET_VARS['products_master'] . '&slave_id=' . $HTTP_GET_VARS['products_id']) or tep_href_link(FILENAME_PRODUCT_INFO . '?products_id=' . $product_info['products_master'] . '&slave_id=' . $product_info['products_id']) I dont undenstand why use redirects this contrib. We can avoid every problems. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
pdcelec Posted December 28, 2010 Share Posted December 28, 2010 A couple more notice errors Date / Time: 28-12-2010 23:27:22 Error Type: [E_NOTICE] Undefined variable: cart On line 36 File includes/modules/boxes/bm_suggested_accessories.php -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Date / Time: 28-12-2010 23:27:22 Error Type: [E_NOTICE] Undefined variable: data On line 79 File includes/modules/boxes/bm_suggested_accessories.php -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Quote Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 (edited) A couple more notice errors Date / Time: 28-12-2010 23:27:22 Error Type: [E_NOTICE] Undefined variable: cart On line 36 File includes/modules/boxes/bm_suggested_accessories.php -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Date / Time: 28-12-2010 23:27:22 Error Type: [E_NOTICE] Undefined variable: data On line 79 File includes/modules/boxes/bm_suggested_accessories.php -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ includes/modules/boxes/bm_suggested_accessories.php change <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2010 osCommerce Released under the GNU General Public License */ class bm_suggested_accessories { var $code = 'bm_suggested_accessories'; var $group = 'boxes'; var $title; var $description; var $sort_order; var $enabled = false; function bm_suggested_accessories() { $this->title = MODULE_BOXES_SUGGESTED_ACCESSORIES_TITLE; $this->description = MODULE_BOXES_SUGGESTED_ACCESSORIES_DESCRIPTION; if ( defined('MODULE_BOXES_SUGGESTED_ACCESSORIES_STATUS') ) { $this->sort_order = MODULE_BOXES_SUGGESTED_ACCESSORIES_SORT_ORDER; $this->enabled = (MODULE_BOXES_SUGGESTED_ACCESSORIES_STATUS == 'True'); $this->group = ((MODULE_BOXES_SUGGESTED_ACCESSORIES_CONTENT_PLACEMENT == 'Left Column') ? 'boxes_column_left' : 'boxes_column_right'); } } function execute() { global $oscTemplate; $slaves = $this->get_slave_products(); if (tep_not_null($slaves) ) { $max_rows_to_show = 0; $cfg_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = '" . "MASTER_LIST_NUM_ACCESSORIES" . "'"); if (tep_db_num_rows($cfg_query) > 0 ) { $cfg_array = tep_db_fetch_array($cfg_query); $max_rows_to_show = (int)$cfg_array['configuration_value']; } if ( 0 < $max_rows_to_show ) { $data = '<div class="ui-widget infoBoxContainer">' . ' <div class="ui-widget-header infoBoxHeading">' . MODULE_BOXES_SUGGESTED_ACCESSORIES_BOX_TITLE . '</div>' . ' <div class="ui-widget-content infoBoxContents">'; foreach ( $slaves as $key => $value ) { $slave = $slaves[$key]; $strquery = "select p.products_id, p.products_master, pd.products_name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd " . "where p.products_id = '" . $slave['products_id'] . "' " . " and p.products_id = pd.products_id"; // echo "<!-- QUERY: " . $strquery . " -->\n"; $query = tep_db_query($strquery); if ( tep_db_num_rows($query)) { $row = tep_db_fetch_array($query); // echo "<!-- QUERY RESULTS: " . $row['products_name'] . " -->\n"; $data .= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $row['products_master'] . '&slave_id=' . $row['products_id']) . '">' . $row['products_name'] . '</a><br />'; } } $data .= ' </div>' . '</div>'; } else { $data = '<div class="ui-widget infoBoxContainer">' . ' <div class="ui-widget-header infoBoxHeading">' . MODULE_BOXES_SUGGESTED_ACCESSORIES_BOX_TITLE . '</div>' . ' <div class="ui-widget-content infoBoxContents">'; $data .= ' </div>' . '</div>'; } } $oscTemplate->addBlock($data, $this->group); } function isEnabled() { return $this->enabled; } function check() { return defined('MODULE_BOXES_SUGGESTED_ACCESSORIES_STATUS'); } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Suggested Accessories Module', 'MODULE_BOXES_SUGGESTED_ACCESSORIES_STATUS', 'True', 'Do you want to add the module to your shop?', '6', '1', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Content Placement', 'MODULE_BOXES_SUGGESTED_ACCESSORIES_CONTENT_PLACEMENT', 'Right Column', 'Should the module be loaded in the left or right column?', '6', '1', 'tep_cfg_select_option(array(\'Left Column\', \'Right Column\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_BOXES_SUGGESTED_ACCESSORIES_SORT_ORDER', '5001', 'Sort order of display. Lowest is displayed first.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Entries in Accessories Infobox', 'MASTER_LIST_NUM_ACCESSORIES', '5', 'aximum number of entries in the suggested accessories infobox', '3', '12', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_BOXES_SUGGESTED_ACCESSORIES_STATUS', 'MODULE_BOXES_SUGGESTED_ACCESSORIES_CONTENT_PLACEMENT', 'MODULE_BOXES_SUGGESTED_ACCESSORIES_SORT_ORDER', 'MASTER_LIST_NUM_ACCESSORIES'); } function get_slave_products() { global $cart; require(DIR_WS_CLASSES . "masters_and_slaves.php"); // first, are there any products in the cart that have slave products // associated with them? $products = $cart->get_products(); $slaves = array(); foreach ( $products as $i => $value ) { $product_id = $products[$i]['id']; $master_prod = new masterProduct($product_id); // second, are any of those slave products in the cart? $slave_array = $master_prod->get_slaves(); foreach ( $slave_array as $i => $value ) { $slave = $slave_array[$i]; $slave_id = $slave['products_id']; if ( $cart->get_quantity($slave_id) <= 0 ) { $slaves[] = $slave; } } } // return array of products. return($slaves); } } ?> is it helped? I dont find this error when happened? Edited December 29, 2010 by Gergely Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 (edited) includes/modules/boxes/bm_suggested_accessories.php change This version of suggested_accessories contains next link process. Could you test it in SEO? Does it work? Can you link to master page from slave products? I hope we don't need some changed codes in ßeta pack. I rewrote all relevated tep_href_links We can write reviews to slave products. Why not? Edited December 29, 2010 by Gergely Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 Date / Time: 28-12-2010 23:27:22 Error Type: [E_NOTICE] Undefined variable: data On line 79 File includes/modules/boxes/bm_suggested_accessories.php -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ change } $oscTemplate->addBlock($data, $this->group); } function isEnabled() { return $this->enabled; } to $oscTemplate->addBlock($data, $this->group); } } function isEnabled() { return $this->enabled; } Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 I changed the New Product config. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
pdcelec Posted December 29, 2010 Share Posted December 29, 2010 I have done the changes to the suggested accessories box and this is the result when I click on slave http://www.electricalcity.co.uk/sample1/test-p-29.html?slave_id=30 Quote Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 I have done the changes to the suggested accessories box and this is the result when I click on slave http://www.electricalcity.co.uk/sample1/test-p-29.html?slave_id=30 Ok. This is fine! We can do unique links! You need url seo enhance from SEO contributor. We need to list on product_info page about slave product for SEO. For example make bold letter highlight in master listing or print some info about slave product. Master product's Header tags can mix or join with slave product or something like this. It looks like just solved popup page problems and google xml sitemap seo too. We have to reach original product_info page only for slave products without master listing table, so we dont need popup pages. Customers can write reviews and so on. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
pdcelec Posted December 29, 2010 Share Posted December 29, 2010 (edited) A template has been made available for creating addons for USU 5 pro I do not know enough to create it <?php /** * * ULTIMATE Seo Urls 5 * * * @package Ultimate Seo Urls 5 * @license http://www.opensource.org/licenses/gpl-2.0.php GNU Public License * @link http://www.fwrmedia.co.uk * @copyright Copyright 2008-2009 FWR Media * @copyright Portions Copyright 2005 Bobby Easland * @author Robert Fisher, FWR Media, http://www.fwrmedia.co.uk * @lastdev $Author:: Rob $: Author of last commit * @lastmod $Date:: 2010-12-01 14:03:08 +0000 (Wed, 01 Dec 2010) $: Date of last commit * @version $Rev:: 188 $: Revision of last commit * @Id $Id:: Usu_Template.php 188 2010-12-01 14:03:08Z Rob $: Full Details */ class Usu_XXX extends aDataMap { const MARKER = '-xxx-'; // Could for example be -c- or -l- etc. const DEPENDENCY = 'xxx_id'; // _GET key like e.g. cPath or lPath etc. const FILENAME = 'xxx.php'; // The filename define of the file where this code will be actioned, this MUST NOT be a define public $dependency = self::DEPENDENCY; public $dependency_tags = array( self::MARKER => self::FILENAME ); // key value pair of tag (like e.g. -c-) => filename ( e.g. FILENAME_DEFAULT ) private $page_relations = array( self::FILENAME => 1 ); // Page relation for this module ( e.g. FILENAME_DEFAULT or FILENAME_LINKS ) private $markers = array( self::MARKER => self::DEPENDENCY ); // Markers as key value pair like -c- => cPath or perhaps -l- => lPath private $base_query; // Template query with placeholders ( :placeholder ) waiting for real values private $query; // The final query which will be $base_query but with the placeholders replaced with real values private $xxx_name; // property populated in the acquire() method, there may be multiples of these, rename in line with the query results private $dependency_value; // Dependency value, so if the dependency was cPath and cPath = 27 then this value would be 27 private $installed = false; // Unless it is a core module $installed should only be true if the contribution is installed ( e.g. articles or links manager etc ) public function __construct(){ // The items with a colon : are placeholders which must match the $placeholders array in method acquire() $this->base_query = "SELECT xxx FROM " . TABLE_XXX . " WHERE xxx_id=':xxx_id' LIMIT 1"; usu::$registry->merge( 'seo_pages', $this->page_relations ); usu::$registry->merge( 'markers', $this->markers ); usu::$registry->addPageDependency( array( self::FILENAME => self::DEPENDENCY )); /** * XXX For modules which are optional ( like information pages etc) * we would check for the existance of certain defines and if present set $this->installed to true * e.g. for the links contribution we would use .. * if ( defined( 'FILENAME_LINKS' ) && defined( 'TABLE_LINK_CATEGORIES_DESCRIPTION' ) ) { * $this->installed = true; * } */ $this->installed = true; // xxx Hardcoded to true in this instance - see above comment. } protected function acquire( $base_path, $full_path ) { $this->dependency_value = $full_path; // Full path perhaps with underscores /** * About placeholders * * The placeholders (items with a colon :) must match those in the query ( $this->base_query in the constructor ) */ $placeholders = array( ':xxx_id' ); // Do the below values need to be typecast? $values = array( (int)$base_path ); // xxx These values will replace the placeholders above in $this->base_query $this->query = str_replace( $placeholders, $values, $this->base_query ); // Replace the placeholders with actual values $result = usu::query( $this->query ); // Action the query $this->query = null; // Unset the query for future usage $row = tep_db_fetch_array( $result ); // Return the array of data ( or false if there are no results ) tep_db_free_result( $result ); // Housekeeping if ( false === $row ) { return false; // No results for the query so abort } /** * Values obtained from the query, these properties will populate the registry via the method getProperties() * Method $this->linkText() should be used here to convert the text into seo url format e.g. * my great product .. may become .. my-great-product * You may have more than one of these like .. * $this->parentname, $this->catname dependent on how many results you retrieve from your query */ $this->xxx_name = $this->linkText( $row['xxx_name'] ); // If the registry item doesn't exist as a key then set a blank array if ( false === isset( usu::$registry->{self::DEPENDENCY} ) ) { usu::$registry->{self::DEPENDENCY} = array(); } /** * Populate the registry with the properties we have set in this class */ usu::$registry->attach( self::DEPENDENCY, $this->dependency_value, $this->getProperties() ); } // End method protected function getProperties() { $properties = get_object_vars( $this ); // $properties becomes an array of all properties within this class unset( $properties['page_relations'] ); // Get rid of this key as it is not needed in the registry return $properties; } // End method private function get_full_path( $path ) { // Only used for modules that require paths with parents like .. 2_6_35 // See Usu_Categories.php for usage return $path; } // End method private function get_parents() { // Only used for modules that require paths with parents like .. 2_6_35 // See Usu_Categories.php for usage } // End method /** * Builds the seo url * * @param string $page - file name of the calling page e.g. index.php * @param array $valuepair - key => value pair array containing dependency(e.g. cPath) => value (e.g. 2_24_52) * @param string $url - $url passed by reference created by the method linkCreate() * @param array $added_qs - passed by reference containing key value pairs for _GET * @param string $parameters - Currently unused */ public function buildLink( $page, $valuepair, &$url, &$added_qs, $parameters ) { if ( ( $valuepair[0] != self::DEPENDENCY ) || ( false === array_key_exists( 1, $valuepair ) ) || ( false === $this->installed ) || !tep_not_null( $valuepair[1] ) ) { return false; // Either this module is not installed or the value pair does not meet our requirements so abort } $base_path = $valuepair[1]; // well it might be a single top level item if ( false !== strpos( $valuepair[1], '_' ) ) { // It is a path with parents? ( has underscores ) $base_path = ltrim( strrchr( $valuepair[1], '_' ), '_' ); // Grab the base path which is the number at the end of a path with parents ( e.g. 2_23_37_52 = 52 ) } // Sanity check - if the $base_path is not numeric then we dump it if ( false === is_numeric( $base_path ) ) { trigger_error( __CLASS__ . ' Incorrect ' . self::DEPENDENCY . ' presented: ' . $valuepair[1], E_USER_WARNING ); return false; } // Get a full path with underscores from the database $full_path = $this->get_full_path( $base_path ); // If this item is not already in the registry we use the acquire() method to query for the data if ( !isset( usu::$registry->vars[self::DEPENDENCY][$full_path] ) ) { if ( false === $this->acquire( $base_path, $full_path ) ) { return false; // Looks like an invalid request so dump it } } else { usu::$performance['queries_saved']++; // Already in the registry so we saved one query } /** * About $reg_item * * We grab the array of data from the registry and place it in $reg_item for convenience * The data stored in the registry was set in the method acquire as properties of this class * These are then set in the registry using the method getProperties() * the specific array keys like $reg_item['catname'] will be specific and differ in each module */ $reg_item = array(); $reg_item = usu::$registry->vars[$valuepair[0]][$full_path]; /** * Set the link text from reg_item * e.g. $link_text = $reg_item['parentname'] . '-' . $reg_item['catname']; */ $link_text = $reg_item['xxx_name']; // the property added in the acquire function this would have been set in the acquire method like $this->xxx_name switch( true ){ case $page == self::FILENAME: $url = $this->linkCreate( self::FILENAME, $link_text, self::MARKER, $full_path ); break; default: // Add leftovers to the querystring _GET $added_qs[filter_var( $valuepair[0], FILTER_SANITIZE_STRING )] = usu::cleanse( $valuepair[1] ); break; } # end switch } } Edited December 29, 2010 by pdcelec Quote Link to comment Share on other sites More sharing options...
tgely Posted December 29, 2010 Share Posted December 29, 2010 A template has been made available for creating addons for USU 5 pro I do not know enough to create it I do not too. I think USU 5 pro seo needs query enhance. Slave_id var have to replace with slave product name. Here is my test http://variants231 dot oscom.hu I am testing. Next step I will send you my pack. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted December 31, 2010 Share Posted December 31, 2010 What about Multiple Masters? The previous (cymonguk 2005/09/07) multiple master for single slave pack was similar and very good idea. What's happening when we use multiple master products for a slaves? The contribution goes crash. I found a lot of bugs. My opinion that we need Suggested Masters information at least on products info page. The next release will contain return links to masters from unique slave info page. All masters will be listed with links. In this case customers can use every products listing results with better navigation. NEW standard values for Multiple Masters like this "_ 57 67 557 _". If we use "like %" options in queries we have to use unique values. The old standards not good enough. If we ask for "%57%" we can find "557" too. So we have to use some open and close tags in products_master field: "_" Look at special codes in suggested accessories: trim(str_replace('_', '', $row['products_master'])) Return links with special examination code: $data .= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . ((strpos(trim(str_replace('_', '', $row['products_master'])), ' ') !== false) ? ($row['products_id']) : (trim(str_replace('_', '', $row['products_master'])) . '&slave_id=' . $row['products_id']))) . '">' . $row['products_name'] . '</a><br />'; Not simple but usefull, and Master Products has got Multiple Masters. What about search? If we use Suggested Masters, the search results will be optimal for navigation. The navigation more important than anything. What about previous page? In link navigation next release will use slave_id so the program can do highlight in master products listing or something for seo or printing information. I deleted the ugly redirect. I hope this will be usefull as we can read in this forum. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
tgely Posted January 2, 2011 Share Posted January 2, 2011 New V2.3x version Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
bassmaga Posted January 5, 2011 Share Posted January 5, 2011 New V2.3x version Hi Thanks for this mod but you didn't include master.sql Quote Link to comment Share on other sites More sharing options...
fozzydj Posted January 5, 2011 Share Posted January 5, 2011 Hi there, Ive hit a problem at the first hurdle. I cannot locate the Master.sql file within the archive I've downloaded! Master Products V2.3x V2.0.zip Any ideas? Quote Link to comment Share on other sites More sharing options...
tgely Posted January 5, 2011 Share Posted January 5, 2011 Hi there, Ive hit a problem at the first hurdle. I cannot locate the Master.sql file within the archive I've downloaded! Master Products V2.3x V2.0.zip Any ideas? Sorry. Download the next Master Products V2.3x V2.0a.zip. Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
fozzydj Posted January 7, 2011 Share Posted January 7, 2011 I've executed the sql query and used the files from New shop. I'm now getting this error on the shop load; Parse error: syntax error, unexpected ':' in /home/euro/public_html/shop/includes/functions/general.php on line 909 viewable at www.euroshack.com/shop Any ideas? Quote Link to comment Share on other sites More sharing options...
tgely Posted January 8, 2011 Share Posted January 8, 2011 (edited) I've executed the sql query and used the files from New shop. I'm now getting this error on the shop load; Parse error: syntax error, unexpected ':' in /home/euro/public_html/shop/includes/functions/general.php on line 909 viewable at www.euroshack.com/shop Any ideas? Find in catalog/includes/functions/general.php $sort_suffix = (substr($sortby, 0, 1) == $colnum ? (substr($sortby, 1, 1) == 'a' ? '+' : '-' : '') . '</a>'; change to: $sort_suffix = (substr($sortby, 0, 1) == $colnum ? (substr($sortby, 1, 1) == 'a' ? '+' : '-') : '') . '</a>'; Thanks for post! I will take an edit in the next release. Edited January 8, 2011 by Gergely Quote osCommerce based shop owner with minimal design and focused on background works. When the less is more.Email managment with tracking pixel, package managment for shipping, stock management, warehouse managment with bar code reader, parcel shops management on 3000 pickup points without local store. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.