Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Всем привет.

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

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

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты
Ренейм картинок 

/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 и тд , автогенерацию артикулов сами думаю сделаете

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

: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 не меняться 

Ссылка на сообщение
Поделиться на другие сайты
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-и знаков 

Ссылка на сообщение
Поделиться на другие сайты

Что касательно изменении имени файла - ("-не понимаю с какой целью") но обращайтесь в платные услуги, режим 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 не меняться 

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

Ссылка на сообщение
Поделиться на другие сайты

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

Изучите для начала как работает 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 в этот тег

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

Что касательно изменении имени файла - ("-не понимаю с какой целью") но обращайтесь в платные услуги, режим 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 не меняться 

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

 

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

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

 

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-и знаков 

 

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

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

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

Изменено пользователем Julius123
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...