ShopCMS генерация фотографий (v 3.1.1, 3.1.2, VIP)
#1
Отправлено 25 August 2011 - 06:59 AM
Дополнение "ShopCMS генерация изображений" позволяет при добавлении изображения (фотографии) товара задавать лишь одну картинку в поле "Фотография A". Скрипт сам будет генерировать на основе этой картинки изображения в полях "Фотография B" и "Фотография C".
Достаточно задать фотографию в одном поле один раз, вместо того чтобы повторять то же действие еще дважды - это удобное дополнение сэкономит Ваше время при заполнении магазина.
Установка:
Фаил picture_functions.php нужно загрузить в папку core/functions/ , с заменой. Перед заменой сделайте резервную копию старого файла - скачайте ее себе (если просто оставить старый файл на сервере, переименовав его - возможны
проблемы в работе движка).
Скачать модуль из нашего архива
#2
Отправлено 26 August 2011 - 06:02 PM
Из ниже приведенного кода создаю файл, например 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;
}
/*=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/*/
#3
Отправлено 22 October 2011 - 04:28 PM
Ошибка сервера
На веб-сайте произошла ошибка при получении http://www.ххх.ru/admin.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.
закинул старый файл-та же фигня. что делать подскажите (((
сайт работает а админка нет(((
всем спасибо! удалил кэш через фтп и все заработало)))
#4
Отправлено 22 October 2011 - 04:35 PM
Напишите в личные сообщенияпосле закидывания файла ошибка
Ошибка сервера
На веб-сайте произошла ошибка при получении http://www.ххх.ru/admin.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.
Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
Ошибка HTTP 500 (Internal Server Error): При попытке сервера выполнить запрос возникла неожиданная ситуация.
закинул старый файл-та же фигня. что делать подскажите (((
сайт работает а админка нет(((
#5
Отправлено 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, в админке "Изменить размеры всех фотографий". Задача решена. Неплохо было бы зарядить это на уровне дополнения, чтобы сразу и настройки все из системы брало, и находилось рядом с изменением размеров фотографий.
Я такую задачу решил иначе, просто скачал все изображения и изменял размер через программу пакетного сжатия....
#6
Отправлено 09 November 2011 - 10:06 AM
#7
Отправлено 09 November 2011 - 11:15 AM
Пробовал чистить кеш всеравно выдает пустую страницу(
через фтп почистил и все пашет
#8
Отправлено 09 November 2011 - 11:18 AM
через фтп почистил и все пашет
Уже по другому сделал спс.
#9
Отправлено 09 December 2011 - 01:18 PM
а то ппц) сайт и админка не работают
срочно срочно срочно)
#10
Отправлено 09 December 2011 - 01:24 PM
Народ помогите плс, объясните как почистить кеш через фтп или что там нужно сделать
а то ппц) сайт и админка не работают
срочно срочно срочно)
Это очень сложная задача.... и никак не поддается логике ))
но попробуем разобраться
Мне кажется нужно открыть папку
core/cache
и удалить оттуда все файлы
#11
Отправлено 09 December 2011 - 01:32 PM
логике поддаётся) по эффекта от этого 0Это очень сложная задача.... и никак не поддается логике ))
но попробуем разобраться
Мне кажется нужно открыть папку
core/cache
и удалить оттуда все файлы
ни сайт ни админка не грузиться
#12
Отправлено 09 December 2011 - 01:40 PM
логике поддаётся) по эффекта от этого 0
ни сайт ни админка не грузиться
тогда с чего Вы взяли что Вам нужно непременно почистить кеш?
#13
Отправлено 25 February 2012 - 11:06 PM
может кто подскажет, как сделать чтобы картинка при заливании меняла filename на product_id? чтобы не было в папках названий картинок каких угодно, а четко были названы по ид товара
#14
Отправлено 26 February 2012 - 10:31 AM
может кто подскажет, как сделать чтобы картинка при заливании меняла filename на product_id? чтобы не было в папках названий картинок каких угодно, а четко были названы по ид товара
оппа...... вот это идея..... и как я раньше об этом не подумал. Практически всегда все товары через импорт и названия картинок это код товара........... можно же прямо в коде прописать - и не нужно будет импортировать............
да как если на ID продукта то просто........ {$product_info.picture} замените на {$product_info.productID}.jpg
только тогда все картинки разумеется должны быть в .jpg.
#15
Отправлено 26 February 2012 - 01:11 PM
#16
Отправлено 26 February 2012 - 01:49 PM
если на ID продукта то просто........ {$product_info.picture} замените на {$product_info.productID}.jpg
только тогда все картинки разумеется должны быть в .jpg.
я так понимаю лучше всего это было бы сделать в picture_functions.php, чтобы не было разницы какого формата картинка, пробовал игратся в раене начиная с
function AddNewPictures
и ниже, чтобы сопоставить filename на product_id, но моих знаний нехватает
#17
Отправлено 05 March 2012 - 10:47 PM
, post: 4791"]Я такую задачу решил иначе, просто скачал все изображения и изменял размер через программу пакетного сжатия....
Да, я тоже так сделал, программой IrfanView
#18
Отправлено 11 March 2012 - 08:11 PM
#19
Отправлено 11 March 2012 - 08:45 PM
А поля "Фотография B" и "Фотография C" вообще убраны? Там настройки задать можно как именно генерировать данные фотки?
Настройки Вы задаете стандартно в Общих настройках фотографий. Поля В и С не убраны - и фото при необходимости можно заменить.
#20
Отправлено 15 April 2012 - 04:36 PM
Вот если бы это дополнение позволяло задать фотку "С" и из нее делало "B" и "A", то это было бы логично. Заливаем одну фотку хорошего разрешения, из которой автоматически генерятся две фотки худшего разрешения. А вот как из фотки "А", самой мелкой, делаются "B" и "C" мне не очень понятно.Дополнение "ShopCMS генерация изображений" позволяет при добавлении изображения (фотографии) товара задавать лишь одну картинку в поле "Фотография A". Скрипт сам будет генерировать на основе этой картинки изображения в полях "Фотография B" и "Фотография C".