Add sort price description

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #324869

-- HikaShop version -- : 4.3.0
-- Joomla version -- : 3.9.20
-- PHP version -- : 7.2.33
-- Browser(s) name and version -- : Opera

Hi,
can you tell me how to add or append the product_sort_price to my product description using a mass action?

Thanks,
Ian and Stu

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #324871

Hi,

You can use an action "update the values" on the product_description. Use the "operation" mode, and write something like that in the text input field: concat(product.product_description,product.product_sort_price)
www.w3schools.com/sql/func_mysql_concat.asp

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #324890

Hi,
are you talking about performing this operation in the 'Mass action' area or in phpmyadmin as an sql query?

If I do it in the 'Mass action' area I get a '403 you don't have permission' error.
If I'm to do it directly on the tables, I'll need more info.

Thanks,
Ian and Stu

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #324892

Hi,

I'm talking about doing it with a mass action.
If you get an error, I'll need more information. Do you get that error when you click on the "process" button ?
Could you provide a screenshot of the settings of your mass action ?
How many products do you have ?

Note that you could actually also do the same in your phpmyadmin with a MySQL query:
UPDATE #__hikashop_product as product SET product.product_description = concat(product.product_description,product.product_sort_price);
Basically, the mass action will just run the MySQL query for you.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #324905

Hi,
I've attached a screenshot. Unfortunately the field isn't large enough to see everything but the statement is the same as the one you recommended. I get the 403 error when I hit 'process' or when I hit 'save'.

Strangely, I AM able to copy single values between fields. The 'concat' statement causes the problem.

I hope you can solve this for me. It will help greatly. (edit) We have 8000 products and I'm happy to do this is smaller increments if it is possible.
(another edit). This error was on a site managed via cpanel. I also ran the query on our other hika site which is hosted by cloudaccess.net and it came up with a different error "[] operator not supported for strings".

Regards,
Ian and Stu


Attachments:
Last edit: 3 years 5 months ago by smithshop123. Reason: more information

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #324911

Hi,

8000 products in one go can be a lot. I would indeed recommend to do it in smaller increments. You can do that using the "limitations" area.
By default the "value" field there has the value 500, so that means it will only process 500 elements. And the field "start" allows you to set a starting point. So the first time you run the mass action, you want to keep that field set to 0, and the second time, you can enter 500. Then, the third time, you can enter 1000, etc. That way, you'll run the mass action in increments of 500, which should avoid any hosting restriction issue.

Regarding the error "[] operator not supported for strings", could you activate the "error reporting" and "debug mode" of the Joomla configuration and try again ? It should display more information along with that error message which will help understand what's going on.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #324930

Hi,
the 403 error remained for our cpanel based site saying 'access forbidden'. I didn't see any debugging info. I did select 500 items.

A different error occurred on Cloudaccess.net. i used 500 items with it, The outcome is below. I've also attached the error message from trying to run the sql query via myphpadmin.

Regards.
Ian and Stu


Attachments:
Last edit: 3 years 5 months ago by smithshop123.

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #324931

Hi,

That error indicates that what was written in the input field is invalid.
However, I just tried to run the same mass action with the text "concat(product.product_description,product.product_sort_price)" in the input field and it worked just fine.
So either it's a bug of the 4.3.0 and updating would help, or you made a typo in the input field.

And regarding the error with the MySQL query, it's because you didn't change #__ by the table prefix of your joomla tables. That prefix, which is apparently jos_ on your website, is normally generated dynamically when you install Joomla and thus it's a convention in the Joomla community to write #__ instead as Joomla's MySQL interface automatically replaces #__ by the table prefix you can see in your Joomla configuration when you send MySQL queries through it.

Last edit: 3 years 5 months ago by nicolas.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #324977

Thanks for that tip. I'll try the query again. What version of php should I be using? I'm asking this because the 'concat' operation used to work for me about a year ago.
(edit) If I want to include a dollar sign (i.e. '$') in front of the product_sort_price what would the sql query look like?

Thanks,
Ian and Stu

p.s. If this query were to be used regularly to include a dollar price in the description. How would one delete the old price, insert the updated price and keep the rest of the original description. With all of this we're trying to show the price in our search result with the Universal AJAX Live Search add-on by Offlajn.

Last edit: 3 years 5 months ago by smithshop123.

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #324984

Hi,

concat is a function of MySQL not PHP. So it will work the same regardless of your version of PHP.

If you want to add a dollar sign, you would have to change:
concat(product.product_description,product.product_sort_price)
to:
concat(product.product_description,'$',product.product_sort_price)

Note that as you point out, if you run the query a second time, it will add the price a second time.
In that case, I would recommend to revert the problem.
Instead of trying to add and remove the sort price from the product description (removing or updating will be way more difficult than adding, and will require a developer to work on that for you), I would rather recommend to do an override of the view displaying the results of that search module to include the sort price to it.
Since that module is using the Joomla search, one way to do it would be to edit the file plugins/search/hikashop_products/hikashop_products.php and change the line:

$rows[$k]->text=hikashop_translate($row->product_description);
to:
$rows[$k]->text=hikashop_translate($row->product_description).'$'.($row->product_sort_price;
as well as the line:
$select = ' a.product_id, a.product_id AS id, a.product_name, a.product_alias, a.product_canonical, a.product_created AS created , a.product_description, "'.$new_page.'" AS browsernav';
to:
$select = ' a.product_id, a.product_id AS id, a.product_name, a.product_alias, a.product_canonical, a.product_created AS created , a.product_description, "'.$new_page.'" AS browsernav, a.product_sort_price';

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325022

Hi and thanks;
my version of the files is a bit different and as follows. Hopefully you can point out the necessary changes. Thanks, Ian and Stu

<?php
/**
 * @package	HikaShop for Joomla!
 * @version	2.4.0
 * @author	hikashop.com
 * @copyright	(C) 2010-2015 HIKARI SOFTWARE. All rights reserved.
 * @license	GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
 */
defined('_JEXEC') or die('Restricted access');
?><?php
class plgSearchHikashop_products extends JPlugin{
	function plgSearchHikashop_products(&$subject, $config){
		$this->loadLanguage('plg_search_hikashop_products');
		$this->loadLanguage('plg_search_hikashop_products_override');
		parent::__construct($subject, $config);
		if(!isset($this->params)){
			$plugin = JPluginHelper::getPlugin('search', 'hikashop_products');
			if(version_compare(JVERSION,'2.5','<')){
				jimport('joomla.html.parameter');
				$this->params = new JParameter($plugin->params);
			} else {
				$this->params = new JRegistry($plugin->params);
			}
		}
	}

	function onContentSearchAreas(){
		return $this->onSearchAreas();
	}
	function onContentSearch( $text, $phrase='', $ordering='', $areas=null ){
		return $this->onSearch( $text, $phrase, $ordering, $areas );
	}

	function &onSearchAreas(){
		$areas = array(
			'products' => JText::_('PRODUCTS')
		);
		return $areas;
	}

	function onSearch( $text, $phrase='', $ordering='', $areas=null ){
		if(!defined('DS'))
			define('DS', DIRECTORY_SEPARATOR);
		if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php')) return array();
		$db		= JFactory::getDBO();
		if (is_array( $areas )) {
			if (!array_intersect( $areas, array_keys( $this->onSearchAreas() ) )) {
				return array();
			}
		}

		$limit = $this->params->def( 'search_limit', 50 );

		$text = trim( $text );
		if ( $text == '' ) {
			return array();
		}

		switch($ordering){
			case 'alpha':
				$order = 'a.product_name ASC';
				break;
			case 'newest':
				$order = 'a.product_modified DESC';
				break;
			case 'oldest':
				$order = 'a.product_created ASC';
				break;
			case 'popular':
				$order = 'a.product_hit DESC';
				break;
			case 'category':
			default:
				$order = 'a.product_name DESC';
				break;
		}
		$trans=hikashop_get('helper.translation');
		$multi=$trans->isMulti();
		$trans_table = 'jf_content';
		if($trans->falang){
			$trans_table = 'falang_content';
		}

		$rows = array();

		$filters = array('a.product_published=1');

		$variants = (int)$this->params->get('variants','0');
		if(!$variants){
			$filters[]='a.product_type=\'main\'';
		}
		$out_of_stock = (int)$this->params->get('out_of_stock_display','1');
		if(!$out_of_stock){
			$filters[]='a.product_quantity!=0';
		}

		hikashop_addACLFilters($filters,'product_access','a');
		$leftjoin='';

		$catFilters = array('category_published=1','category_type=\'product\'');
		hikashop_addACLFilters($catFilters,'category_access');
		$db->setQuery('SELECT category_id FROM '.hikashop_table('category').' WHERE '.implode(' AND ',$catFilters));
		if(!HIKASHOP_J25){
			$cats = $db->loadResultArray();
		} else {
			$cats = $db->loadColumn();
		}
		if(!empty($cats)){
			$filters[]='b.category_id IN ('.implode(',',$cats).')';
		}

		if($variants){
			$leftjoin=' INNER JOIN '.hikashop_table('product_category').' AS b ON a.product_parent_id=b.product_id OR a.product_id=b.product_id';
		}else{
			$leftjoin=' INNER JOIN '.hikashop_table('product_category').' AS b ON a.product_id=b.product_id';
		}

		$filters2 = array();

		if($multi){
			$registry = JFactory::getConfig();
			if(!HIKASHOP_J25){
				$code = $registry->getValue('config.jflang');
			}else{
				$code = $registry->get('language');
			}
			$lg = $trans->getId($code);
			$filters2[] = "b.reference_table='hikashop_product'";
			$filters2[] = "b.published=1";
			$filters2[] = 'b.language_id='.$lg;
		}

		$fields = $this->params->get('fields','');
		if(empty($fields)){
			$fields = array('product_name','product_description');
		}else{
			$fields = explode(',',$fields);
		}

		switch($phrase){
			case 'exact':
				$text		= $db->Quote( '%'.hikashop_getEscaped( $text, true ).'%', false );
				$filters1 = array();
				foreach($fields as $f){
					$filters1[] = "a.".$f." LIKE ".$text;
				}

				if($multi){
					$filters2[] = "b.value LIKE ".$text;
				}
				break;
			case 'all':
			case 'any':
			default:
				$words = explode( ' ', $text );
				$wordFilters = array();
				$subWordFiltersX = array();
				$wordFilters2 = array();
				foreach ($words as $word) {
					$word		= $db->Quote( '%'.hikashop_getEscaped( $word, true ).'%', false );
					foreach($fields as $i => $f){
						$subWordFiltersX[$i][] = "a.".$f." LIKE ".$word;
					}
					if($multi){
						$wordFilters2[] = "b.value LIKE ".$word;
					}
				}
				foreach($subWordFiltersX as $i => $subWordFilters){
					$wordFilters[$i]= '((' .implode( ($phrase == 'all' ? ') AND (' : ') OR ('),$subWordFilters). '))';
				}
				$filters[] = '((' . implode( ') OR (', $wordFilters ) . '))';
				if($multi){
					$filters2[] = '((' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wordFilters2 ) . '))';
				}
				break;
		}

		$new_page = (int)$this->params->get('new_page','1');

		$select = ' a.product_id AS id, a.product_name, a.product_alias, a.product_canonical, a.product_created AS created , a.product_description, "'.$new_page.'" AS browsernav, a.product_tax_id AS tax';
		if($variants){
			$select.=', a.product_type, a.product_parent_id';
		}
		$count = 0;
		if($multi && !empty($lg)){
			$db->setQuery('SET SQL_BIG_SELECTS=1');
			$db->query();
			$query = ' SELECT DISTINCT '.$select.' FROM '.hikashop_table($trans_table,false) . ' AS b LEFT JOIN '.hikashop_table('product').' AS a ON b.reference_id=a.product_id WHERE '.implode(' AND ',$filters2).' ORDER BY '.$order;
			$db->setQuery($query, 0, $limit);
			$rows = $db->loadObjectList("id");
			$count = count($rows);
			if($count){
				$limit = $limit-$count;
				$filters[]='a.product_id NOT IN ('.implode(',',array_keys($rows)).')';
			}
		}

		if($limit){
			if(!empty($leftjoin)){
				$select.=', b.category_id as category_id';
			}
			$db->setQuery('SET SQL_BIG_SELECTS=1');
			$db->query();
			$filters = implode(' AND ',$filters);
			if(isset($filters1)){
				$filters = '('.$filters.') AND ('.implode(' OR ',$filters1).')';
			}
			$query = ' SELECT DISTINCT '.$select.' FROM '.hikashop_table('product') . ' AS a '.$leftjoin.' WHERE '.$filters.' GROUP BY (a.product_id) ORDER BY '.$order;
			$db->setQuery( $query, 0, $limit );
			$mainRows = $db->loadObjectList("id");
			if(!empty($mainRows)){
				foreach($mainRows as $k => $main){
					$rows[$k]=$main;
				}
				$count = count( $rows );
			}
		}
		if($count){

			if($multi && !empty($lg)){
				$query = ' SELECT * FROM '.hikashop_table($trans_table,false) . ' WHERE reference_table=\'hikashop_product\' AND language_id=\''.$lg.'\' AND published=1 AND reference_id IN ('.implode(',',array_keys($rows)).')';
				$db->setQuery($query);
				$trans = $db->loadObjectList();
				foreach($trans as $item){
					foreach($rows as $key => $row){
						if($row->id==$item->reference_id){
							if($item->reference_field=='product_name'){
								$row->product_name=$item->value;
							}elseif($item->reference_field=='product_description'){
								$row->product_description=$item->value;
							}else{
								$row->product_name=$item->value;
							}
							break;
						}
					}
				}
			}
			$parent = '';
			$item_id = $this->params->get('item_id','');
			$menuClass = hikashop_get('class.menus');
			$config =& hikashop_config();
			$pathway_sef_name = $config->get('pathway_sef_name','category_pathway');
			$menus=array();
			$Itemid='';
			if(!empty($item_id)){
				$Itemid='&Itemid='.$item_id;
				if($this->params->get('full_path',1)){
					$menuData = $menus[$item_id] = $menuClass->get($item_id);
					if(!empty($menuData->hikashop_params['selectparentlisting'])){
						$parent = '&'.$pathway_sef_name.'='.(int)$menuData->hikashop_params['selectparentlisting'];
					}
				}
			}
			$itemids=array();
			$app= JFactory::getApplication();
			$class = hikashop_get('class.product');
			$ids = array();
			foreach ( $rows as $k => $row ) {
				$ids[$row->id]=$row->id;
				if(!empty($row->category_id)){
					if(empty($item_id)){
						if(!isset($itemids[$row->category_id])) $itemids[$row->category_id] = $menuClass->getItemidFromCategory($row->category_id);
						$item_id = $itemids[$row->category_id];
					}
					if(!empty($item_id)){
						$Itemid='&Itemid='.$item_id;
					}
					if($this->params->get('full_path',1)){
						$parent = '&'.$pathway_sef_name.'='.(int)$row->category_id;
					}
					if(!$this->params->get('item_id','')) $item_id = '';
				}
				$class->addAlias($row);
				$row->title=$row->product_name;
				$row->text=$row->product_description;
				if($variants && $row->product_type=='variant'){
					$ids[$row->product_parent_id]=$row->product_parent_id;
					static $mains = array();
					if(!isset($mains[$row->product_parent_id])){
						$mains[$row->product_parent_id] = $class->get((int)$row->product_parent_id);
						$class->addAlias($mains[$row->product_parent_id]);
					}
					$db = JFactory::getDBO();
					$db->setQuery('SELECT * FROM '.hikashop_table('variant').' AS a LEFT JOIN '.hikashop_table('characteristic') .' AS b ON a.variant_characteristic_id=b.characteristic_id WHERE a.variant_product_id='.(int)$row->id.' ORDER BY a.ordering');
					$row->characteristics = $db->loadObjectList();
					$class->checkVariant($row,$mains[$row->product_parent_id]);
					if(empty($row->title)){
						$row->title = $row->product_name;
					}
					if(empty($row->text)){
						$row->text = $mains[$row->product_parent_id]->product_description;
					}
				}
				if(empty($row->product_canonical)){
					$rows[$k]->href = 'index.php?option=com_hikashop&ctrl=product&task=show&name='.$row->alias.'&cid='.$row->id.$Itemid.$parent;
				}else{
					$rows[$k]->href = $row->product_canonical;
				}
				$rows[$k]->section 	= JText::_( 'PRODUCT' );
				$rows[$k]->price = $this->getPrice($row->id, $row->tax);
			}

			if(!empty($ids)){
				$imageHelper = hikashop_get('helper.image');
				$height = (int)$config->get('thumbnail_y','100');
				$width = (int)$config->get('thumbnail_x','100');
				$image_options = array('default' => true,'forcesize'=>$config->get('image_force_size',true),'scale'=>$config->get('image_scale_mode','inside'));
				$db = JFactory::getDBO();
				$queryImage = 'SELECT * FROM '.hikashop_table('file').' WHERE file_ref_id IN ('.implode(',',$ids).') AND file_type=\'product\' ORDER BY file_ref_id ASC, file_ordering DESC, file_id ASC';
				$db->setQuery($queryImage);
				$images = $db->loadObjectList('file_ref_id');
				foreach($rows as $k => $row){
					foreach($images as $k2 => $image){
						if($k==$k2){
							$result = $imageHelper->getThumbnail(@$image->file_path, array('width' => $width, 'height' => $height), $image_options);
							if($result->success){
								$rows[$k]->image = str_replace(JURI::root(true), "", $result->url);
							}
							break;
						}
					}
					if(!empty($rows[$k]->image)) continue;
					foreach($images as $k2 => $image){
						if($row->product_parent_id==$k2){
							$result = $imageHelper->getThumbnail(@$image->file_path, array('width' => $width, 'height' => $height), $image_options);
							if($result->success){
								$rows[$k]->image = str_replace(JURI::root(true), "", $result->url);
							}
							break;
						}
					}
				}
			}

		}
		return $rows;
	}
	function getPrice($pid, $tax) {
	    $arr = array();
	    $arr[0] = new stdClass();
	    $arr[0]->product_id = $pid; 
	    $arr[0]->product_tax_id = $tax;      
	    $currency = hikashop_get('type.currency');
	    $currencyClass = hikashop_get('class.currency');
	    $zone = hikashop_getZone();
	    $cur = hikashop_getCurrency();
	    $currencyClass->getListingPrices($arr,$zone,$cur);
	  return $currencyClass->format($arr[0]->prices[0]->price_value_with_tax, $cur);
	}
}

Please Log in or Create an account to join the conversation.

  • Posts: 4502
  • Thank you received: 610
  • MODERATOR
3 years 5 months ago #325040

Hello,

What we can notice that you start from an 2.4.0 HikaShop view (from version)... Maybe this can explain some of your issues as it's really an old version.
Hope this will help you to progress on your subject.

Regards

Last edit: 3 years 5 months ago by Philip.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325060

Hi,
we have the latest version of Hiakshop installed. Do I need to update something in the views as well?

In the meantime, I keep uploading values (via the cron) to the product_price_value field so I can merge it with my description field.
However, when I check the values for this field using a mass action the numbers have reverted back to '0.00000'. What am I doing wrong here. Our cron update is attached and the field in it are mapped to proper hika fields via the cron plugin.

Getting prices into our results would really help us to showcase our product. So I hope you can provide some suggestions.

Regards,
Ian and Su

File Attachment:

File Name: 24072020st...date.csv
File Size:233 KB

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #325064

Hi,

If you have the latest version of HikaShop installed, then you should have the latest version of the plugin too.
This indicates that the folder/files of the plugin (and probably other plugins) are not writable.
So check their access rights via your FTP access, and then download the install package of the latest version of HikaShop on our website and install it on yours.
It will try to update the files of the plugin.
Once you have the latest version of the plugin (you'll see 4.4.0 written for the version tag at the beginning of the file), you'll be able to do the modification.

Note that this CSV file is not formatted to be uploaded via the HikaShop import tool. You need to change the name of the columns to the ones used in HikaShop and you need to remove the $ sign in the price columns.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325081

I'm able to set the permission. What do you recommend?

With the attachment. It is being uploaded via the cron which has the function to convert the names of columns. However,
I'll double check if the value are getting through.

Regards,
Ian, Stu
edit:
I've got ;

  • plugins folder permission 755
    search folder permissions 755
    hikashop_products folder permissions 755
    hikashop_products.php file permissions at 644

Let me know what to change it to. How high up and if I should change it recursively.

Thanks,
Ian and Stu

Attachments:
Last edit: 3 years 5 months ago by smithshop123. Reason: Adding in the permissions information

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #325094

Hi,

The correct permissions to set to your files and folders depends on how your hosting server is configured.
If your FTP user is the same as the web server user, then you would use 755 and 644 or even 700 and 600.
But if the users are different, you might have to set the permissions to 777 OR to change the owner on the files/folders.
If a file is uploaded by the user "FTP" with the permissions 755, then only the user "FTP" has the right to modify the file. If later on the user "web server" wants to update the file, it will be denied.
In that case, the best would be to change the owner to "web server" so that you can keep permissions of 755.
But the quick and dirty move is to set the permissions to 777 so that you're sure the "web server" user will be able to update the file.

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325114

Hi,
let me know what folders/files to change to 777 to ensure the successful update..The current setting for folders is 655 and it is 644 for files.I only ask because there are a lot of files, Only some of which can be updated recursively via ftp.

Regards,
Ian and Stu

p.s. I'm also happy to PM you the ftp and admin access to undertake the process

Last edit: 3 years 5 months ago by smithshop123.

Please Log in or Create an account to join the conversation.

  • Posts: 81484
  • Thank you received: 13062
  • MODERATOR
3 years 5 months ago #325119

Hi,

Since, your issue is with the products search plugin, you can just do it for the files in the /plugins/search/hikashop_products folder before installing HikaShop again.

The following user(s) said Thank You: smithshop123

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325184

HI,
the update worked but the modification of the php file didn't. We've installed a couple of search addon which may be the cause of this. So, we'll leave it alone for a while. I was in touch with the Universal Ajax search plugin team and they have beta version of their plugin that targets the price_value. So that may be an easier option. Mijosearch is another good one that will do additional work for a fee.

Regards,
Ian and Stu

Please Log in or Create an account to join the conversation.

  • Posts: 173
  • Thank you received: 14
  • Hikashop Business
3 years 5 months ago #325197

Hi,
I was able to get the 'concat' function working after updating hikashop with the correct file/folder permissions. We have used the discussed operation to merge the existing description with the product_sort_price. We have a back-up of the description field in 'meta_description' and can use this to overwrite the description before updating. So, all is working well and we just want to know how to limit the length of the sort price to 2 decimal places. It come through with 4 decimal places (e.g. 10.4000).

Thanks for putting up with this lengthy thread but is really helping us.

Ian and Stu

Please Log in or Create an account to join the conversation.

Time to create page: 0.124 seconds
Powered by Kunena Forum