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

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

В общем, я оказываю поддержку Денису в написании мелких фиговин для скрипта :)

На данный момент, доработал вот что:
1. Комментарии ВКонтакте (можно выбирать или свои комменты встроенные в движок, или коментарии вконтакте).
2. Счёт-фактура (пока что простенькая, но легкодопиливаемая для разных стран), грубо говоря, при заказе выбираешь, какая форма оплаты - юридическое лицо или физическое.
3. Гугль-Аналитикс настроечки минимальные.
4. Для брэнда можно указать сайт.
5. Ещё пару мелких хаков, которых не помню уже (сделаю diff скоро, и вспомню).
6. Водяной знак с сохранением оригинала.
7. Вес для варианта товара.

В планах:
1. Авторизация через разные службы (ОпенИД, ВКонтакте).
2. Счёт-фактура с шаблонами.
3. Работа с фотографиями продукта: загрузка с помощью ajax, превьюшки, и больше чем 10 фоток на продукт.
4. Мелочи разные.
5. Приход товара через админку.
7. Входная цена для варианта(закупочная). Чтобы можно было делать официальный приход. Чтобы было примерно видно скока заработал.

Попозжа выкину инструкцию, как что допиливать :)

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 63
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Офигеть! Все в ожидании... :-))

А скажите, такое не планируется, или возможно ли сделать:
Есть необходимость бренды разделять на категории (многим бы это пригодилось!).
К примеру:

КАТАЛОГ ТОВАРОВ
+ Телевизоры
- LCD
- Plazma
+ Холодильники
- двухкамерные
- встраиваемые
+ СВЧ
- без гриля
- с грилем
- с пароваркой
-------------------------
МЕНЮ БРЕНДЫ
+ Samsung
- телевизоры
- холодильники
- свч
- варочные панели
+ Panasonic
- телевизоры
- свч

Вообщем смысл понятен!

Это очень удобно для многих магазинов, человек который не знаком с предлагаемыми брендами будет искать товары в КАТАЛОГ ТОВАРОВ, а человек который знаком с брендами у него нет желания копаться в куче товаров , и он идет в каталог ТОВАРЫ ПО БРЕНДАМ и выбирает конкретную серию этого бренда.

В админке это выглядело бы просто:
Там где указываем БРЕНД к товару, в это же меню встроить подбренды.

А в ТОВАРЫ -> БРЕНДЫ сделать все по аналогии как ТОВАРЫ -> КАТЕГОРИИ, т.е. с возможностью задавать описания к разделам подбренд, добавить изображение к бренду и подбренду.

Что думаете по этому поводу?

И кто меня поддерживает, отзовитесь :-)

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

>> xbiz
Можно сделать самому в Storefront.class.php после выборки брендов сделать выборку категорий с этим брендом.

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

Предложение по брендам глупое какое то.
Если нажимаешь в каталоге "Телевизоры" то над товарами выводятся бренды в этих телевизорах. Нажимаешь "Samsung" и готово, все телики отфильтровались по бренду. Зачем тоже самое делать через жопу мне не понятно. Чел заходит на сайт за "теликом самсунг" и не за "самсунг теликом" . В общем бред какой то на мой взгляд. У меня реализовано отображение лого для брендов, выводятся над товарами в каталоге, нажал на картинку и показались все товары этого бренда в каталоге.

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

>> Антон
Есть такие люди, которые покупают только Самсунг, или там Порше (часы, машины, дизайнерскую мебель). Поэтому некий рациональный смысл в данной идее есть, другой вопрос нужно ли это наряду с обратным поиском по типу товара...

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

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

У каждого производителя целая куча серий, каждый месяц появляются новые серии.
На данный момент у меня сейчас около 20-ти производителей.
У каждого производителя наименований товаров ОЧЕНЬ МНОГО.
И поэтому, заходя на сайт и выбрав Уход за волосами -> Шампуни = Куча товаров разных брендов из разных серий этих брендов.
Но тот кто знает, что хочет, ему не интересно постоянно копаться и искать то, к чему человек привык и любит, он просто зайдет в нужный бренд и выберет нужную серию.

Вот, так.
Я не кричу что всем это нужно, но МНОГИМ бы пригодилось.

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

Ну мне пришлось для заказчика таким образом сделать категория-бренд-размер. Размер вывел в отдельную таблицу, сортирую по ней, если надо не выбирая бренд выбрать размер. Все отлично получается. Также сделал дисконты с установкой админом величин от 5 до 75% с шагом в 5%. Выод отдельно всех дисконтов. То же самое с новинками и хитами. Аякс-калкулятор расчетный сделал при работе с заказом пользователем. Выирается доставка транспортной компанией, регион, способ UPS или EMS. вываливается расчет суммы и срок доставки. все это падает в сам заказ, менеджер все видит. Пользователь счастлив.

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

В общем, небольшая инструкция:

1. Добавить .htaccess который находится в корне сайта это:
===============================================================================
# Images
RewriteRule ^files/products/(.*\.(jpg))$ make_watermark.php?img=$1 [L]
===============================================================================

2. Создать файл Watermark.class.php и поместить в корень сайта с содержимым:
===============================================================================
<?php

/**
* Simpla CMS
*
* @copyright 2010 Artem Roshenia
* @link http://simp.la
* @author Artem Roshenia
*
* Этот класс позволяет накладывать свой текст в качестве водяного знака.
* Для фоток товара и всё такое к примеру.
*
*/

class Watermark{

# given two images, return a blended watermarked image
function Create_Watermark( $main_img_obj, $watermark_img_obj, $alpha_level = 100 ) {
$alpha_level /= 100; # convert 0-100 (%) alpha to decimal

# calculate our images dimensions
$main_img_obj_w = imagesx( $main_img_obj );
$main_img_obj_h = imagesy( $main_img_obj );
$watermark_img_obj_w = imagesx( $watermark_img_obj );
$watermark_img_obj_h = imagesy( $watermark_img_obj );

# determine center position coordinates
$main_img_obj_min_x = floor( ( $main_img_obj_w / 2 ) - ( $watermark_img_obj_w / 2 ) );
$main_img_obj_max_x = ceil( ( $main_img_obj_w / 2 ) + ( $watermark_img_obj_w / 2 ) );
$main_img_obj_min_y = floor( ( $main_img_obj_h / 2 ) - ( $watermark_img_obj_h / 2 ) );
$main_img_obj_max_y = ceil( ( $main_img_obj_h / 2 ) + ( $watermark_img_obj_h / 2 ) );

# create new image to hold merged changes
$return_img = imagecreatetruecolor( $main_img_obj_w, $main_img_obj_h );

# walk through main image
for( $y = 0; $y < $main_img_obj_h; $y++ ) {
for( $x = 0; $x < $main_img_obj_w; $x++ ) {
$return_color = NULL;

# determine the correct pixel location within our watermark
$watermark_x = $x - $main_img_obj_min_x;
$watermark_y = $y - $main_img_obj_min_y;

# fetch color information for both of our images
$main_rgb = imagecolorsforindex( $main_img_obj, imagecolorat( $main_img_obj, $x, $y ) );

# if our watermark has a non-transparent value at this pixel intersection
# and we're still within the bounds of the watermark image
if ( $watermark_x >= 0 && $watermark_x < $watermark_img_obj_w &&
$watermark_y >= 0 && $watermark_y < $watermark_img_obj_h ) {
$watermark_rbg = imagecolorsforindex( $watermark_img_obj, imagecolorat( $watermark_img_obj, $watermark_x, $watermark_y ) );

# using image alpha, and user specified alpha, calculate average
$watermark_alpha = round( ( ( 127 - $watermark_rbg['alpha'] ) / 127 ), 2 );
$watermark_alpha = $watermark_alpha * $alpha_level;

# calculate the color 'average' between the two - taking into account the specified alpha level
$avg_red = $this->_get_ave_color( $main_rgb['red'], $watermark_rbg['red'], $watermark_alpha );
$avg_green = $this->_get_ave_color( $main_rgb['green'], $watermark_rbg['green'], $watermark_alpha );
$avg_blue = $this->_get_ave_color( $main_rgb['blue'], $watermark_rbg['blue'], $watermark_alpha );

# calculate a color index value using the average RGB values we've determined
$return_color = $this->_get_image_color( $return_img, $avg_red, $avg_green, $avg_blue );

# if we're not dealing with an average color here, then let's just copy over the main color
} else {
$return_color = imagecolorat( $main_img_obj, $x, $y );

} # END if watermark

# draw the appropriate color onto the return image
imagesetpixel( $return_img, $x, $y, $return_color );

} # END for each X pixel
} # END for each Y pixel

# return the resulting, watermarked image for display
return $return_img;

} # END create_watermark()

# average two colors given an alpha
function _get_ave_color( $color_a, $color_b, $alpha_level ) {
return round( ( ( $color_a * ( 1 - $alpha_level ) ) + ( $color_b * $alpha_level ) ) );
} # END _get_ave_color()

# return closest pallette-color match for RGB values
function _get_image_color($im, $r, $g, $B) {
$c=imagecolorexact($im, $r, $g, $B);
if ($c!=-1) return $c;
$c=imagecolorallocate($im, $r, $g, $B);
if ($c!=-1) return $c;
return imagecolorclosest($im, $r, $g, $B);
} # EBD _get_image_color()

} # END watermark API


?>
===============================================================================

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

3. Создать файл make_watermark.php и поместить в корень сайта с содержимым:
===============================================================================
<?PHP

/**
* Simpla CMS
*
* @copyright 2010 Artem Roshenia
* @link http://simp.la
* @author Artem Roshenia
*
*/

if(!strip_tags($_GET['img']) || !isset($_GET['img']) || $_GET['img'] == "" || $_SERVER['HTTP_HOST'] == "your-shop.com"){
// If they tried to access this file directly, send them elsewhere
header("Location: http://www.your-shop.com/");
}

$reqpath = strip_tags($_GET['img']);
$foundsite = strpos($reqpath,'.jpg'); // Get the position of the first slash

if($foundsite === FALSE){
header("Location: http://www.your-shop.com/");
}
else{

require_once('Watermark.class.php');

// Определяем тип документа
header("Content-type: image/jpeg");

$watermark = new Watermark();
$img = imagecreatefromjpeg("./files/products/".$reqpath);
$water = imagecreatefrompng("./files/system/logo.png");
$im = $watermark->Create_Watermark($img, $water, 10);

imagejpeg($im);
imagedestroy($im);
}

?>
===============================================================================

4. Заменить your-shop.com на тот сайт что у Вас.
5. Создать директорию system в files
6. Поместить Ваш логотип в формате PNG в эту созданную директорию system. Сделайте только логотип с прозрачностью. А так же, его обзовите как logo.png, или на любое своё любимое, и замените в файле make_watermark.php в соответствующей строке(почти внизу).

Наслаждайтесь :)

Далее в программе допил счёт-фактуры.

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

http://s014.radikal.ru/i328/1011/60/708471526b3f.jpg

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

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

# acab,
Друг, напиши для нас решение наших проблем. Оч надо, тебе много людей скажут спасибо.

Я ПРО:
А у тебя в планах не будет возможности дописать установку размера и цвета для каждого товара отдельно?

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

блин. я же говорю. что я готов это реализовать
работы тут на чутка

я вообще делаю к примеру так:
1. есть товар
2. есть пару моделей товара(варианты собсно)
3. для каждого варианта указываются габариты и вес.

но блин. я выкинул фотку того как у меня получилось. я не знаю как это скомпоновать
я не верстальщик

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

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

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

открываешь phpmyadmin
ищешь таблицу products_variants
добавляешь новые поля. и вуаля

затем редактируешь класс с продуктами (Product.Admin.php). больше ничего сложного нету нету...

foreach($variants as $variant_id=>$variant)
{
if($variant->variant_id)
$query = sql_placeholder('INSERT INTO products_variants (product_id, variant_id, sku, name, price, stock, position, weight) VALUES (?, ?, ?, ?, ?, ?, ?, ?)',
$this->item->product_id, $variant_id, $variant['sku'], $variant['name'], $variant['price'], $variant['stock'], $position++, $variant['weight']);
else
$query = sql_placeholder('INSERT INTO products_variants (product_id, variant_id, sku, name, price, stock, position, weight) VALUES (?, NULL, ?, ?, ?, ?, ?, ?)',
$this->item->product_id, $variant['sku'], $variant['name'], $variant['price'], $variant['stock'], $position++, $variant['weight']);
$this->db->query($query);
}



в этом примере, я добавил поле weight

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

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

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

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

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

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

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

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

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

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