Перейти к содержимому


ShopCMS генерация фотографий (v 3.1.1, 3.1.2, VIP)


  • Вы не можете ответить в тему
Сообщений в теме: 73

#1 noy

    Пользователь

  • Заблокированные
  • PipPip
  • 24 сообщений
Репутация: 0
Начинающий

Отправлено 25 August 2011 - 06:59 AM

Описание:
Дополнение "ShopCMS генерация изображений" позволяет при добавлении изображения (фотографии) товара задавать лишь одну картинку в поле "Фотография A". Скрипт сам будет генерировать на основе этой картинки изображения в полях "Фотография B" и "Фотография C".
Достаточно задать фотографию в одном поле один раз, вместо того чтобы повторять то же действие еще дважды - это удобное дополнение сэкономит Ваше время при заполнении магазина.

Установка:
Фаил picture_functions.php нужно загрузить в папку core/functions/ , с заменой. Перед заменой сделайте резервную копию старого файла - скачайте ее себе (если просто оставить старый файл на сервере, переименовав его - возможны
проблемы в работе движка).

Скачать модуль из нашего архива

#2 sealabs

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 12 сообщений
Репутация: 6
Начинающий

Отправлено 26 August 2011 - 06:02 PM

Возникла подобная проблема. При использовании программы "Предприниматель", последняя загружает в SHOPCMS только картинки "А" в каталог small. Что делать, когда все картинки уже загружены? Стала задача - после загрузки картинок на сервер, скопировать их из small в big и medium, прописать в базу имена файлов соответственно, а потом привести размер картинок, к нужному размеру. За решение этой задачи мне загадали денег больше чем за магазин:), потому решил по-своему. Если коллективу будет интересно, может кто разовьет чтобы внедрить это поудобнее в CMS.

Из ниже приведенного кода создаю файл, например copy_image.php и кладу в корень.
$link = mysql_connect("localhost", "login", "pass");
$db = mysql_selectdb("my_db_name");
прописываю хост, логин пароль, имя базы данных.

После, заливаю картинки, запускаю файл copy_image.php, в админке "Изменить размеры всех фотографий". Задача решена. Неплохо было бы зарядить это на уровне дополнения, чтобы сразу и настройки все из системы брало, и находилось рядом с изменением размеров фотографий.



<?php


function copy_folder($d1, $d2, $upd = true, $force = true) {
if ( is_dir( $d1 ) ) {
$d2 = mkdir_safe( $d2, $force );
if (!$d2) {fs_log("!!fail $d2"); return;}
$d = dir( $d1 );
while ( false !== ( $entry = $d->read() ) ) {
if ( $entry != '.' && $entry != '..' )
copy_folder( "$d1/$entry", "$d2/$entry", $upd, $force );
}
$d->close();
}
else {
$ok = copy_safe( $d1, $d2, $upd );
$ok = ($ok) ? "ok-- " : " -- ";
fs_log("{$ok}$d1");
}
} //function copy_folder

function mkdir_safe( $dir, $force ) {
if (file_exists($dir)) {
if (is_dir($dir)) return $dir;
else if (!$force) return false;
unlink($dir);
}
return (mkdir($dir, 0777, true)) ? $dir : false;
} //function mkdir_safe

function copy_safe ($f1, $f2, $upd) {
$time1 = filemtime($f1);
if (file_exists($f2)) {
$time2 = filemtime($f2);
if ($time2 >= $time1 && $upd) return false;
}
$ok = copy($f1, $f2);
if ($ok) touch($f2, $time1);
return $ok;
} //function copy_safe

function fs_log($str) {
$log = fopen("./fs_log.txt", "a");
$time = date("Y-m-d H:i:s");
fwrite($log, "$str ($time)\n");
fclose($log);
}


/*=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/*/
$my_path = __FILE__;
$f = str_replace("\\", "/", $my_path);
$f = explode("/", $f);
$f = array_pop($f);

if (preg_match("'{$f}$'i", $_SERVER["REQUEST_URI"])) {
$code = implode("", file(__FILE__));
$code = preg_replace("'/\*\=/\=[\s\S]+$'", '', $code);
//************************ копируем файлы *****************************************
//*********************************************************************************
copy_folder("data/small", "data/big");
copy_folder("data/small", "data/medium");
//*********************************************************************************
//**************************** прописываем в базу данных **************************
$link = mysql_connect("localhost", "login", "pass");
$db = mysql_selectdb("my_db_name");

mysql_query("update cms_product_pictures set enlarged=filename");
mysql_query("update cms_product_pictures set thumbnail=filename");

$result = mysql_query($sql);
mysql_close($link);
//*********************************************************************************

exit;
}
/*=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/*/


  • 0

#3 lost1980

    Пользователь

  • Download User
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 22 October 2011 - 04:28 PM

после закидывания файла ошибка
Ошибка сервера
На веб-сайте произошла ошибка при получении http://www.ххх.ru/admin.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.


закинул старый файл-та же фигня. что делать подскажите (((

сайт работает а админка нет(((


всем спасибо! удалил кэш через фтп и все заработало)))
  • 0

#4 vsupport

    Продвинутый пользователь

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 22 October 2011 - 04:35 PM

после закидывания файла ошибка
Ошибка сервера
На веб-сайте произошла ошибка при получении http://www.ххх.ru/admin.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.


закинул старый файл-та же фигня. что делать подскажите (((

сайт работает а админка нет(((

Напишите в личные сообщения
  • 0

#5 SP

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений
Репутация: 0
Начинающий

Отправлено 02 November 2011 - 05:08 PM

Возникла подобная проблема. При использовании программы "Предприниматель", последняя загружает в SHOPCMS только картинки "А" в каталог small. Что делать, когда все картинки уже загружены? Стала задача - после загрузки картинок на сервер, скопировать их из small в big и medium, прописать в базу имена файлов соответственно, а потом привести размер картинок, к нужному размеру. За решение этой задачи мне загадали денег больше чем за магазин:), потому решил по-своему. Если коллективу будет интересно, может кто разовьет чтобы внедрить это поудобнее в CMS.

Из ниже приведенного кода создаю файл, например copy_image.php и кладу в корень.
$link = mysql_connect("localhost", "login", "pass");
$db = mysql_selectdb("my_db_name");
прописываю хост, логин пароль, имя базы данных.

После, заливаю картинки, запускаю файл copy_image.php, в админке "Изменить размеры всех фотографий". Задача решена. Неплохо было бы зарядить это на уровне дополнения, чтобы сразу и настройки все из системы брало, и находилось рядом с изменением размеров фотографий.


Я такую задачу решил иначе, просто скачал все изображения и изменял размер через программу пакетного сжатия....
  • 0

#6 ruslan_3_

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 34 сообщений
Репутация: 0
Начинающий

Отправлено 09 November 2011 - 10:06 AM

Пробовал чистить кеш всеравно выдает пустую страницу(
  • 0

#7 lost1980

    Пользователь

  • Download User
  • PipPip
  • 17 сообщений
Репутация: 0
Начинающий

Отправлено 09 November 2011 - 11:15 AM

Пробовал чистить кеш всеравно выдает пустую страницу(


через фтп почистил и все пашет
  • 0

#8 ruslan_3_

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 34 сообщений
Репутация: 0
Начинающий

Отправлено 09 November 2011 - 11:18 AM

через фтп почистил и все пашет


Уже по другому сделал спс.
  • 0

#9 fl3x

    Пользователь

  • Download User
  • PipPip
  • 12 сообщений
Репутация: 4
Начинающий
  • ГородMoscow

Отправлено 09 December 2011 - 01:18 PM

Народ помогите плс, объясните как почистить кеш через фтп или что там нужно сделать
а то ппц) сайт и админка не работают
срочно срочно срочно)
  • 0

#10 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 09 December 2011 - 01:24 PM

Народ помогите плс, объясните как почистить кеш через фтп или что там нужно сделать
а то ппц) сайт и админка не работают
срочно срочно срочно)


Это очень сложная задача.... и никак не поддается логике ))
но попробуем разобраться
Мне кажется нужно открыть папку
core/cache
и удалить оттуда все файлы :)
  • 0

#11 fl3x

    Пользователь

  • Download User
  • PipPip
  • 12 сообщений
Репутация: 4
Начинающий
  • ГородMoscow

Отправлено 09 December 2011 - 01:32 PM

Это очень сложная задача.... и никак не поддается логике ))
но попробуем разобраться
Мне кажется нужно открыть папку
core/cache
и удалить оттуда все файлы :)

логике поддаётся) по эффекта от этого 0
ни сайт ни админка не грузиться
  • 0

#12 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 09 December 2011 - 01:40 PM

логике поддаётся) по эффекта от этого 0
ни сайт ни админка не грузиться


тогда с чего Вы взяли что Вам нужно непременно почистить кеш?
  • 0

#13 zrom

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 69 сообщений
Репутация: 16
Начинающий

Отправлено 25 February 2012 - 11:06 PM

скорей всего просто fl3x сделал бэкап файла в той же папке, делайте бэкап в отдельной папке

может кто подскажет, как сделать чтобы картинка при заливании меняла filename на product_id? чтобы не было в папках названий картинок каких угодно, а четко были названы по ид товара
  • 0

#14 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 26 February 2012 - 10:31 AM

может кто подскажет, как сделать чтобы картинка при заливании меняла filename на product_id? чтобы не было в папках названий картинок каких угодно, а четко были названы по ид товара


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

да как если на ID продукта то просто........ {$product_info.picture} замените на {$product_info.productID}.jpg
только тогда все картинки разумеется должны быть в .jpg.
  • 0

#15 Matit

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 104 сообщений
Репутация: 2
Начинающий

Отправлено 26 February 2012 - 01:11 PM

А можно как-то названия картинок категорий переименовать в названия самих категорий? А то там всякие 60342.png...
  • 0
Все "спасибо" в репутацию :)

#16 zrom

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 69 сообщений
Репутация: 16
Начинающий

Отправлено 26 February 2012 - 01:49 PM

если на ID продукта то просто........ {$product_info.picture} замените на {$product_info.productID}.jpg
только тогда все картинки разумеется должны быть в .jpg.


я так понимаю лучше всего это было бы сделать в picture_functions.php, чтобы не было разницы какого формата картинка, пробовал игратся в раене начиная с
function AddNewPictures

и ниже, чтобы сопоставить filename на product_id, но моих знаний нехватает:(
  • 0

#17 NLO56

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 91 сообщений
Репутация: 5
Начинающий
  • ГородСанкт-Петербург

Отправлено 05 March 2012 - 10:47 PM

, post: 4791"]Я такую задачу решил иначе, просто скачал все изображения и изменял размер через программу пакетного сжатия....


Да, я тоже так сделал, программой IrfanView
  • 0

#18 sm1rk

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 0
Начинающий

Отправлено 11 March 2012 - 08:11 PM

А поля "Фотография B" и "Фотография C" вообще убраны? Там настройки задать можно как именно генерировать данные фотки?
  • 0

#19 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 11 March 2012 - 08:45 PM

А поля "Фотография B" и "Фотография C" вообще убраны? Там настройки задать можно как именно генерировать данные фотки?


Настройки Вы задаете стандартно в Общих настройках фотографий. Поля В и С не убраны - и фото при необходимости можно заменить.
  • 0

#20 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 15 April 2012 - 04:36 PM

Дополнение "ShopCMS генерация изображений" позволяет при добавлении изображения (фотографии) товара задавать лишь одну картинку в поле "Фотография A". Скрипт сам будет генерировать на основе этой картинки изображения в полях "Фотография B" и "Фотография C".

Вот если бы это дополнение позволяло задать фотку "С" и из нее делало "B" и "A", то это было бы логично. Заливаем одну фотку хорошего разрешения, из которой автоматически генерятся две фотки худшего разрешения. А вот как из фотки "А", самой мелкой, делаются "B" и "C" мне не очень понятно.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)