[Soft] Интернет магазин: ShopOS

Новая версия ShopOS 2.5.7

[ Список изменений ]

1. Менеджер загрузки картинок работает в опере.
2. Обновлен phpmailer до версии 5.1.
3. Добавлен параметр ssl в настройке отправки почты способом smtp.

теперь можно настроить отправу почты через mail.google.com

Настройка - Основные - Настройка email

внизу нажать по умолчанию

Способ отправки E-Mail: smtp
Адрес SMTP сервера: smtp.gmail.com
Имя пользователя smtp: ваш логин на gmail.com
Пароль smtp: пароль
Разрешить ssl: да


4. В редакторе шаблонов почты можно редактировать шаблоны для админа.
5. Плагин параметры работает на php4.
6. Добавлен конвертер атрибутов в параметры.
7. Корректировки установщика (показываются версии gdlib и php).
8. Не удаляются все параметры при копировании доп. полей.

Полные обновления с 2.5.6 до 2.5.7 доступно в личном кабинете

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

Добавлено через 1 минуту
Примеры для создания плагинов
все очень просто
Для просмотра ссылки Войди или Зарегистрируйся
Примеры плагинов
Для просмотра ссылки Войди или Зарегистрируйся
0. Установка и удаление плагина
Код:
<?php
    //функции для установки, удаления плагина
    //функция для установки имеет вид имя_файла_install()
    function test0_install()
    {
        global $db;
        // чаще всего при установке плагина требуется выполнить какие то запросы или добавить какие либо опции к плагину
        $db->query('drop table if exists '.DB_PREFIX.'test');      
        $db->query("CREATE TABLE ".DB_PREFIX."test(
        test_id int NOT NULL auto_increment,
        product_id int NOT NULL,
        PRIMARY KEY (test_id)
        ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;");
    }
    //функция для установки имеет вид имя_файла_remove()
    function test0_remove()
    {
        global $db;
        //удаляем базу при удалении плагина
        $db->query('drop table if exists '.DB_PREFIX.'test');    
    }
?>
для пример смотреть любой плагин
Для просмотра ссылки Войди или Зарегистрируйся
1. Создание страниц
Код:
<?php
    //страница в магазине
    // страница доступна по адресу http://магазин/index.php?page=test1_page1
    add_action('page', 'test1_page1');
    // страница доступна по адресу http://магазин/index.php?main_page=test1_page2
    add_action('main_page', 'test1_page2');
    // страницы доступны в дминке
    // страница доступна по адресу http://магазин/admin/plugins_page.php?page=test1_page_admin
    add_action('page_admin', 'test1_page_admin');
    // страница доступна по адресу http://магазин/admin/plugins_page.php?main_page=test1_main_page_admin
    add_action('main_page_admin', 'test1_main_page_admin');
    function test1_page1()
    {
        echo 'Тестовая страница';
    }    
    function test1_page2()
    {
        echo 'Тестовая страница 2';
    }
    function test1_page_admin()
    {
        echo 'Тестовая страница в админке';
    }
    function test1_main_page_admin()
    {
        echo 'Тестовая страница в админке 2';
    }
?>
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
смотреть так же плагин vote
Для просмотра ссылки Войди или Зарегистрируйся
2. Создание блока
блок будет доступен после добавление метки {$my_box} в шаблон themes/шаблон/index.html
Код:
<?php
 //Создание блока
 //блок будет доступен после добавление метки {$my_box}  в шаблон themes/шаблон/index.html
 add_action('box', 'my_box');
 function my_box()
 {
    $title = 'Мой блок';
	$content = 'Содержимое блока';
    return array('title' => $title, 'content' =>$content);
 }
?>
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
смотреть так же плагин vote
Для просмотра ссылки Войди или Зарегистрируйся
3. Работа с блоками. Замена одного блока на другой
Код:
<?php
// заменить один блок, на другой
//замена блока вывода списка категорий на блок "Мой блок 2"
 rewrite_action('box', 'box_CATEGORIES', 'my_box2');
 function my_box2()
 {
    $title = 'Мой блок 2';
	$content = 'Содержимое блока 2';
    return array('title' => $title, 'content' =>$content);
 }
?>
смотреть так же плагин cat_drop_down
4. Опции и локализации плагина
test4.php
Код:
<?php
    //Опции плагинв
    function test4_install()
    {
        //test4_radio - название опции
        //false текущее значение 
        //radio - тип опции
        // array('true','false') - варианты значения опции
        add_option('test4_radio', 'false', 'radio', "array('true','false')");
        add_option('test4_checkbox', 'false', 'checkbox', "array('true','false')");
        //для вывода блока для ввода текст <input type="text">
        add_option('test4_radio1', 'текст 1', 'input');
        //или вот так
        add_option('test4_radio2', 'текст 2');
        add_option('test4_textarea', 'поле textarea', 'textarea');
        //поле readonly. только для вывода данныз
        //данные берутся из функции test4_readonly()
        add_option('test4', '', 'readonly');
    }
    function test4_readonly()
    {
        echo '<font color="red">Вывод данных опции readonly</font>';
    }
?>
//файл локализации
// код_языка.php
ru.php
Код:
<?php
   //test4_radio - название опции
   $lang['test4_radio'] = 'Опция test4_radio';
   $lang['test4_radio_desc'] = 'Описание опции test4_radio';
   $lang['test4_radio1'] = 'Опция test4_radio1';
   $lang['test4_radio1_desc'] = 'Описание опции test4_radio1';
   $lang['test4_radio2'] = 'Опция test4_radio2';
   $lang['test4_radio2_desc'] = 'Описание опции test4_radio2';
   $lang['test4_checkbox'] = 'Опция test4_checkbox';
   $lang['test4_checkbox_desc'] = 'Описание опции test4_checkbox';
   //test4_textarea - название опции
   $lang['test4_textarea'] = 'Опция test4_textarea';
   $lang['test4_textarea_desc'] = 'Описание опции test4_textarea';
?>
вот что получилось
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 


А в целом магазин отличный, пользуюсь давно. Админ его адекватный и с решением вопросов не отказывал. Рекомендую.
 
Подскажите, пожалуйста. Мне надо для товара добавить дополнительные параметры с описанием. Я вот сделал атрибут, вывожу его на страницу с товаром:
Для просмотра ссылки Войди или Зарегистрируйся

А как мне теперь избавиться от добавления в конце описания "+ 0.0 руб."? Потому что мои параметры на итоговую цену не будут влиять!
Спасибо!
 
Подскажите, пожалуйста. Мне надо для товара добавить дополнительные параметры с описанием. Я вот сделал атрибут, вывожу его на страницу с товаром:
Для просмотра ссылки Войди или Зарегистрируйся
А как мне теперь избавиться от добавления в конце описания "+ 0.0 руб."? Потому что мои параметры на итоговую цену не будут влиять!
Спасибо!

Разобрался сам. Если кому-то надо будет сделать подобное, то делаете так: открываете "папка_шаблона\module\product_option\multi_option.html"

и там ищите кусок, отвечающий за вывод атрибутов типа "только чтение":
Код:
<!-- readonly -->
<p>
<strong>{$options_data.NAME}:</strong>
{foreach key=key_data item=item_data from=$options_data.DATA}
<input type="hidden" name="id[{$options_data.ID}]" value="{$item_data.ID}" />
{if $item_data.MODEL}({$item_data.MODEL}){/if} {$item_data.TEXT}{$item_data.PREFIX}{$item_data.PRICE}
{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />
{/foreach}
</p>
<!-- /readonly -->

Делаете так:
Код:
<!-- readonly -->
<p>
<strong>{$options_data.NAME}:</strong>
{foreach key=key_data item=item_data from=$options_data.DATA}
<input type="hidden" name="id[{$options_data.ID}]" value="{$item_data.ID}" />
{if $item_data.MODEL}({$item_data.MODEL}){/if} {$item_data.TEXT}
{if $item_data.DESCRIPTION}<br />{$item_data.DESCRIPTION}{/if}<br />
{/foreach}
</p>
<!-- /readonly -->
 
У кого есть ShopOS 2.5.8 (full, чтобы почта работала) последняя со всеми исправлениями поделитесь?
 
У кого есть ShopOS 2.5.8 (full, чтобы почта работала) последняя со всеми исправлениями поделитесь?

Вылаживаю патч работающего мыла (Работает от версии 2.5.4 до версии 2.5.9)

P.S. У меня на версии 2.5.9 все работает. Осталось только найти где удалить копирайты и можно считать что у вас версия full.
 

Вложения

  • shopos-254-FULL.zip
    180,1 KB · Просмотры: 45
Спасибо за патчик. А можно немного описать процесс установки.
 
Процесс установки должен быть в архиве. Но на всякий случай кину его сюда.

Как устанавливать:

1. Распакуйте архив с патчем к себе на компьютер.
2. Перепишите все файлы из папки upload в Ваш интернет-магазин (с заменой!).
3. Папку mail - загрузить в корень папки вашего шаблона.
4. Загрузите в базу данных своего магазина SQL файл add_mail_options.sql
(например, через phpmyadmin в админке хостинга).
5. В админке настройте почту (через sendmail работает 100%).

==============================================================
ВНИМАНИЕ!
Почта может не работать если будут дубликаты параметров почты в базе,
если до установки патча уже загружались раньше sql-файлы в базу
(наподобии add_mail_options.sql). Тогда попробуйте Загрузить в базу
данных своего магазина SQL файл add_mail_options_fix.sql
(он удалит все дубликаты).
Это касается только обновления уже работающих магазинов, при первой
установке используйте обычный - add_mail_options.sql - (не FIX)
 
Версия магазина 2.5.9 (скачал с оф. сайта только вчера)

Вставляю в таблицу add_mail_options, а база ругается.
Код:
SQL-запрос: 
INSERT INTO shop_configuration_group
VALUES (
'12', 'CG_EMAIL', 'E-Mail Options', 'General setting for E-Mail transport and HTML E-Mails', '12', '1'
);
Ответ MySQL:  
#1136 - Column count doesn't match value count at row 1

Вот какие у меня поля configuration_key, configuration_group_id, sort_order, visible - всего 4, а должно быть 6 вроде как.

Я так понимаю, что каких-то полей у меня не хватает.

Ну что, покавырялся я немногу и добавил configuration_group_title и configuration_group_description (продублировав configuration_group_key). Добавил наконец-то в таблицу add_mail_options. Но при открытии Насройки email, выдает пустой лист, где только менюшка и сохранить. Руки не кривые, буду дальше ковыряться.
 
Назад
Сверху