Jump to content

артикул товара самогенерация + переименование файла фото


Recommended Posts

Всем привет.

При роботе возникли трудности с фотографиями.

Как найти на фтп фото нужного товара?

Моя мысль такова:

Сделать чтобы при добавлении нового товара автоматически генерировался артикул, и с таким же названием сохранялось фото, если фоток несколько  добавлялся  _1   _2  _3  ну и так далее.

 

Возможно что есть вполне рациональный выход из ситуации, но я его незнаю, поделитесь если кто нашел способы

Link to post
Share on other sites
Ренейм картинок 

/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;				
						
						
						}

 

при добавлении товара фотка будет артикул_0_1_2 и тд , автогенерацию артикулов сами думаю сделаете

Link to post
Share on other sites

я вот видел что можно всунуть в артикул код товара, это бы тоже подошло. (но самого способа как это сделать небыло)

А есть ли возможность существующие фото товаров переименовать? и добавить артикул  - естественно автоматом

Link to post
Share on other sites

ну хоть я и немогу написать, но понимаю обьем работы.

сделать чтобы тянулся номер id товара и вставлялся в поле артикула, это  на мой взгляд до 10 строк кода.

Link to post
Share on other sites

переименовать фото? имеете ввиду название фотографии или же файла?

если артикул генерировать то можено поставить самое простое {$product->id}{$variant->id} что из этой оперы 

Link to post
Share on other sites

сейчас глянул еще раз - на самом деле вариантов 3:

А.: в шаблоне вставить что то подобное {if $variant->sku}{$product->id}{$brand->id}{/if}

плюс - быстро, легко

минус - статичный вывод, при большом кол-ве вариантов плохой вывод

В.: в шаблоне прописать альтернативный вариант как и с заполнением мета тегов

С.: в  ProductAdmin прописать функцию генерации циферного кода (с учетом / без учета буквенных значений) и вывести в  шаблон 

{if $variant->sku}{$variant->sku}{else}{$new_function}{/if}

 

ps третий вариант по мне намного приятнее, то вопрос - требуются любые значения (главное что бы не повторялись) или же друг за другом шли? 

Link to post
Share on other sites

product->id   копируется в Артикул   -> имя файла фото товара

345 (product id)         ->  345 (артикул)    ->  345.jpg   345_1.jpg    345_2.jpg

 

Если можно отпишите как сделать вставку номера товара в артикул. Куда и после чего его вставлять. Огромное спс заранее.

Link to post
Share on other sites

:mellow:

Что касательно изменении имени файла - ("-не понимаю с какой целью") но обращайтесь в платные услуги, режим FREE мало кто подпишется

Что касательно добавления артикула - simpla/design/html/product.tpl

value="{if $variant-sku}{$variant-sku}{else}{$product->id}{/if}"
<input name="variants[sku][]" type="" value="!СЮДЫ!" />

но в данном случае - вы понимаете что товары с несколькими вариантами уже будут не корректны. $product->id - это ID товара, т.к. при нескольких вариантах - ID не меняться 

Link to post
Share on other sites
if(empty($sku_variant_generator))
{
    $chars="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    $max=7;
    $size=StrLen($chars)-1; 
    $sku_variant_generator=null; 
       while($max--) 
    $sku_variant_generator.=$chars[rand(0,$size)]; 
}
$this->design->assign('sku_variant_generator', $sku_variant_generator);

и 

<input name="variants[sku][]" type="" value="!СЮДЫ!" /> 
value="{if $variant-sku}{$variant-sku}{else}{$sku_variant_generator}{/if}"

результат:

автоматический генерирует артикул из 7-и знаков 

Link to post
Share on other sites

Что касательно изменении имени файла - ("-не понимаю с какой целью") но обращайтесь в платные услуги, режим FREE мало кто подпишется

Что касательно добавления артикула - simpla/design/html/product.tpl

value="{if $variant-sku}{$variant-sku}{else}{$product->id}{/if}"
<input name="variants[sku][]" type="" value="!СЮДЫ!" />

но в данном случае - вы понимаете что товары с несколькими вариантами уже будут не корректны. $product->id - это ID товара, т.к. при нескольких вариантах - ID не меняться 

при добавлении єтого кода, появляется форма ввода, в ней вписано !СЮДЫ!

Link to post
Share on other sites

при добавлении єтого кода, появляется форма ввода, в ней вписано !СЮДЫ!

Изучите для начала как работает Simpla, что такое Smarty + HTML разметка и теги - а после пробуйте модернизировать что то. Если у вас горит - закажите доработку. 

 

PS: 

value="{if $variant-sku}{$variant-sku}{else}{$product->id}{/if}" - это пример реализации установки ID товара в артикул

<input name="variants[sku][]" type="" value="!СЮДЫ!" /> - это HTML тег в котором происходит POST запрос и GET запрос на данные артикула 

VALUE=" " - это атрибут тега input через который отправляются данные на сервер (+ выводятся в нашем случае, если они уже были заданы!)

!СЮДЫ! - это имеется ввиду устанавливаем значение VALUE в этот тег

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

Что касательно изменении имени файла - ("-не понимаю с какой целью") но обращайтесь в платные услуги, режим FREE мало кто подпишется

Что касательно добавления артикула - simpla/design/html/product.tpl

 

value="{if $variant-sku}{$variant-sku}{else}{$product->id}{/if}"
<input name="variants[sku][]" type="" value="!СЮДЫ!" />
но в данном случае - вы понимаете что товары с несколькими вариантами уже будут не корректны. $product->id - это ID товара, т.к. при нескольких вариантах - ID не меняться 

В случае с вариантами товара, думаю было бы интереснее сделать ява-генерацию артикула, то есть для первого варианта автоподстановка, если поле пустое, для остальных вариантов - при нажатии на кнопку "добавить вариант" - артикул генерируется на лету. И еще при сохранении товаров было бы неплохо сделать проверку га уникальность артикула. Для тех, кто часто делает импорт/экспорт товаров было бы актуально.

 

Господа, есть варианты реализации такой штуки у кого нибудь?

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

 

if(empty($sku_variant_generator))
{
    $chars="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    $max=7;
    $size=StrLen($chars)-1; 
    $sku_variant_generator=null; 
       while($max--) 
    $sku_variant_generator.=$chars[rand(0,$size)]; 
}
$this->design->assign('sku_variant_generator', $sku_variant_generator);

и 

<input name="variants[sku][]" type="" value="!СЮДЫ!" /> 
value="{if $variant-sku}{$variant-sku}{else}{$sku_variant_generator}{/if}"

результат:

автоматический генерирует артикул из 7-и знаков 

 

Не получается... Помогите за вспоможение!

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

Подскажите как сделать чтобы при загрузке фото они автоматически переименовывались на url товара из поля "Адрес" и в конце "-1" "-2" "-3" и т.д

Edited by Julius123
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...