Jump to content

Артикул товара как id


Recommended Posts

Вот задался целью выводить артикул товара равное его id и чтобы еще поиск был по нему (может кому пригодится)

Решение: simpla/design/html/product.tpl ищем (501 строка.)

<li class="variant_sku"><input name="variants[sku][{$variant->id}]" type="text" value="{$variant->sku|escape}" /></li>



Меняем на:

<li class="variant_sku"><input name="variants[sku][{$variant->id}]" type="text" value="{$product->id}" /></li>



Вот и все, вставляем в шаблон products.tpl и product.tpl вот этот код - {$product->id}.
Теперь при добавлении нового товара артикул прописывается автоматом как id товара.

Для поиска по артикулу:

В файле api/Products.php, примерно 94 строка. Ищем.

if(!empty($filter['keyword']))
	{
		$keywords = explode(' ', $filter['keyword']);
		foreach($keywords as $keyword)
			$keyword_filter .= $this->db->placehold('AND (p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR p.meta_keywords LIKE "%'.mysql_real_escape_string(trim($keyword)).'%") ');
	}



И меняем на:

if(!empty($filter['keyword']))		{			$keywords = explode(' ', $filter['keyword']);			foreach($keywords as $keyword)				$keyword_filter .= $this->db->placehold('AND p.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%"				OR 0<(SELECT count(*) FROM s_variants WHERE (stock IS NULL OR stock>0) AND p.id = s_variants.product_id	AND (product_id LIKE "%'.mysql_real_escape_string(trim($keyword)).'%" OR s_variants.name LIKE "%'.mysql_real_escape_string(trim($keyword)).'%"))				');		}


Спасибо за внимание.
Link to post
Share on other sites

Хорошое решение, есть правда пару вопросов, может ли в данном случае осуществлятся поиск товара при вводе артикула в админке и в клиентской части, не только поиск по новым добавленным но и по тем что уже добавлены, есть и как быть с старыми товарами?

Link to post
Share on other sites

1. поиск пока что только в клиентской части.
2. будет поиск и по уже добавленным.
3. артикулы поставятся автоматом для уже добавленных.

Link to post
Share on other sites

спасибо за ответ! На будущие разработки симплы как мне кажется самим разработчикам было бы неплохо добавить в функцию поиска не только поиск товаров по названию, но и по описанию, критериям, артикулам и т.д.!

Link to post
Share on other sites
  • 3 weeks later...
  • 1 year later...
<li class="variant_sku"><input name="variants[sku][{$variant->id}]" type="text" value="{$product->id}" /></li>

После вставки указанного кода, ID продукта - вставляется, но при повторном редактировании товара (к примеру изменения цены) после нажатия кнопки сохранить, происходит дублирование строчки варианта. При повторном нажатии происходит еще дублирование вариантом (дублирует 2 варианта и на выходе получается уже 4-е варианта) и т.д. до бесконечности...

Как исправить?

Link to post
Share on other sites
  • 1 month later...

 

<li class="variant_sku"><input name="variants[sku][{$variant->id}]" type="text" value="{$product->id}" /></li>

После вставки указанного кода, ID продукта - вставляется, но при повторном редактировании товара (к примеру изменения цены) после нажатия кнопки сохранить, происходит дублирование строчки варианта. При повторном нажатии происходит еще дублирование вариантом (дублирует 2 варианта и на выходе получается уже 4-е варианта) и т.д. до бесконечности...

Как исправить?

аналогично, кто-то нашел решение ?

Link to post
Share on other sites
  • 3 weeks later...

Можно ли в автоматическом режиме присвоить всем товарам не имеющим артикулы, например 00001 и т.д.? 

говорят можно. программист нам будет делать автоматическую заполнялку артикула, но по определенной формуле

Link to post
Share on other sites
  • 5 months later...

вопрос такой

я сделал чтобы фото переименовывалось в имя артикула, сейчас добавил чтобы артикул проставлялся как id, но теперь не переименовывает фотки(

Ренейм картинок 

/simpla/ProductAdmin.php


после
 // Варианты товара
			if($this->request->post('variants'))
добавить код
				$proid = $this->request->post('variants');
				$idOne = $proid['sku'][0];
				
после 

					// Загрузка изображений
		  		    if($images = $this->request->files('images'))
		  		    {
						for($i=0; $i<count($images['name']); $i++)
						{
						
добавить код

					if ($idOne != 0)
						{
							preg_match('/(.+)?\.(.+)?$/', $images['name'][$i], $output); 
						 
							$mime = $output[2];
								
							$images['name'][$i] = $idOne.".".$mime;				
						
						
						}
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...