Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение UPS Easy Shop и Ultimate Points phpbb3 2012-05-12

Аватар пользователя

Введение

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

Нам потребуется установить 2 модификации
  • Ultimate Points - модификация денежной системы (оплата за сообщение) для phpbb3
  • UPS Easy Shop - модификация магазина для phpbb3

A Внимание !!! Примите к сведенью то, что UPS Easy Shop не работает без установленного Ultimate Points (который кстати нужно в первую очередь устанавливать)


Хотелось бы отметить еще то, что модификация Ultimate Points, помимо денежной системы, содержит в себе Лотерею, Банк, модуль Грабежей, а так же предоставляет возможность перевоить средства другим пользователям. Так же данный мод может быть встроен в некоторые сторонние модификации, такие как Блоги или Галерея (Более подробный список таких модов глядите в папке мода /contrib/AddOns/)
Впринципе описываемые модификации установлены на нашем форуме и вы можете их потестировать. Так сказать, пощупать моды.

Установка

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

После установки, руссифицируем денежную систему (Файлы из архива распаковать в папку /language/ru/mods/)
Вложение :
Комментарий к файлу: Руссификация модификации Ultimate Points phpbb3
Lang1.zip [24.34 KiB]
Скачиваний: 164


В дебагере может появляться такая ошибка
[phpBB Debug] PHP Notice: in file /includes/functions_content.php on line : Undefined index: points_extension
 

Решение = открыть root/includes/functions_content.php и найти
 // Start Ultimate Points
            else if ($forum_id > 0)
 

Заменить найденное на
 // Start Ultimate Points
            // else if ($forum_id > 0)
               else if ($forum_id > 0 && (isset($attachment['points_extension']) && isset($attachment['points_extension_costs'])))
 


В дебагере может появляться такая ошибка
[PhpBB Debug] PHP Notice: in file / includes / functions_content.php on line : Undefined index: POINTS_ATTACHMENT_COSTS 
 

Решение = открыть root/language/ru/points.php и найти
'POINTS'                     => 'Points',
 

Вставить после найденного
'POINTS_ATTACHMENT_COSTS'         => 'Вложение <strong>%1$s</strong> стоимость которого (%2$s %3$s), вам не хватает %3$s!',
 


После руссификации устанавливаем модификацию магазина

И потом руссифицируем его (Файлы из архива распаковать в папку /language/ru/mods/)
Вложение :
Комментарий к файлу: Руссификация модификации UPS Easy Shop phpbb3
Lang2.zip [9.06 KiB]
Скачиваний: 109

На этом установка завершена, вам лишь остается настроить оба мода под свои нужды и радоваться результатам. Успехов в администрировании !!!

A Внимание !!! Хочу обратить внимание на, то что перевод был сделан на скорую руку, могут присутствовать опечатки и неточности. В любом случае прошу вас уведомлять меня о косяках перевода, буду исправлять и делать его более лучшим



----------------- Плагины для UPS Easy Shop ---------------

1. Модуль начисления случайного количества Points из Ultimate Points
-При покупке этого предмета пользователь получит случайное количество Points из Ultimate Points, предмет используется сразу после покупки.
- Установка. Скачиваем архив
Вложение :
Комментарий к файлу: Модуль случайного начисления Points из Ultimate Points
Random.zip [9.32 KiB]
Скачиваний: 17

Файл treasure.png залить в images\shop_icons\, а файл random.php положить в includes\shop\items\
Открыть файл language\ru\mods\shop.php и найти
'SHOP_ITEM_BOUGHT'            =>
 

Вставить перед найденным
 'SHOP_ITEM_POINTS'         => 'После покупки вы получили <strong>%s</strong> Points.',
 

Слово Points можно заменить на имя форумной валюты
В файле random.php кусок кода
$points    = rand(5,15);
 

Отвечает за количество Points, в данном случае начисляется от 5 до 15 Points, можете поменять эти значения под себя.
После этого добавляем товар в магазин. В пункте Plugin: выбираем наш плагин, в пункте Товар используется сразу же после покупки: - Да , в пунктах Пользователь может удалить этот товар: - Пользователь может продать это товар обратно в магазин: - Пользователь может показать этот товар на своей полке - Нет
Остальные настройки делаете по своему вкусу.


2. Товар - цвет никнейма
- При покупке данного товара у пользователя меняется цвет ника. По сути все легко делается, но для каждого цвета нужно делать следущие действия. Опишу на примере уже существующего черного цвета никнейма.
Для начала создаем файл со следущим названием и расширением - user_color_black.php, обратите внимание на окончание имени - black, при создании других цветов обязательно дописывать название этого цвета таким же образом, на английском. Файл будет иметь следущее содержимое
<?php
/**
*
* @package - phpbb3 UPS Easy Shop
* @version $Id: user_color_black.php 138 2010-02-22 10:39:40Z femu $
* @copyright (c) Wuerzi (http://spieleresidenz.de), (c) femu (http://die-muellers.org)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/*
 * @ignore
*/
if (!defined('IN_PHPBB'))
{
   exit;
}

class user_color_black extends item
{
   function init()
   {

   }

   function get_actions()
   {
      global $user;

      $actions = array();

      //In most cases, items that have an action with them should use the "use" action.
      //To enable it, uncomment the following code:
      $actions['use'] = array(
         'name'      => $user->lang['SHOP_ITEM_USE'],
         'confirm'   => sprintf($user->lang['SHOP_ITEM_CONFIRM_USE'], $this->data['name']),
         'function'   => 'use_item'
      );

      $actions = array_merge($actions, parent::get_actions());
      return $actions;
   }

   function use_item()
   {
      global $user, $shop, $db, $phpEx, $phpbb_root_path;

      $this->remove_item();
      
      $color    = $user->data['user_colour'] = '000000';

      $sql_ary = array(
         'user_colour'      => $color,
      );

      $sql = 'UPDATE ' . USERS_TABLE  . '
         SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
         WHERE user_id = ' . (int) $user->data['user_id'];
      $db->sql_query($sql);

      $message = sprintf($user->lang['SHOP_ITEM_NOW_USE'], $this->data['name']);
      return $message;
   }
}
?>
 

При создании нового цвета (имя мы ему выбрали выше, допустим) необходимо кусок
user_color_black
 

Заменить на имя своего файла, допустим мы создаем синий цвет, значит наш файл будет назваться user_color_blue.php и следовательно кусок
user_color_black
 

Заменяем на
user_color_blue
 

Далее находим в коде
$color    = $user->data['user_colour'] = '000000';
 

В найденном заменяем
 

На HTML код своего нового цвета, этот код можно поглядеть в таблице HTML цветов, коими кишит интернет.
После этих действий сохраняем наш файл и закидываем на сервер в папку includes\shop\items\. При добавлении товара обязательно установить в пункте Plugin: - выбираем наш плагин, в пункте Товар используется сразу же после покупки: - Да , в пунктах Пользователь может удалить этот товар: - Пользователь может продать это товар обратно в магазин: - Пользователь может показать этот товар на своей полке - Нет
Остальные настройки делаете по своему вкусу.


Доработки
-Выводим описание товара при наведении мыши на картинку товара
Открыть viewtopic.php и находим
if (file_exists($phpbb_root_path . 'highslide/highslide-full.js'))
         {
            $show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" class="highslide" onclick="return hs.expand(this)" title="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '" /></a>';
         }
         else
         {
            $show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" onclick=" window.open(this.href); return false" title="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $user->lang['SHOP_HIGHSLIDE_CLICK'] . '" /></a>';
         }
 

Заменяем найденное на
if (file_exists($phpbb_root_path . 'highslide/highslide-full.js'))
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" class="highslide" onclick="return hs.expand(this)" title="' . $item->data['description'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $item->data['description'] . '" /></a>';
}
else
{
$show_icon = '<a href="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" onclick=" window.open(this.href); return false" title="' . $item->data['description'] . '"><img src="' . $phpbb_root_path . 'images/shop_icons/' . $item->data['icon'] . '" width="' . $icon_show_width . '" height="' . $icon_show_height . '" alt="' . $item->data['description'] . '" /></a>';
}


Вообщем ничего сложного, но перед добавлением плагина, лучше протестировать его на левом форуме (тестовом) если он есть)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
UPS Easy Shop и Ultimate Points phpbb3, UPS Easy Shop , система оплаты за сообщение phpbb3, магазин подарков для phpbb3, денежная система для phpbb3, Руссификация модификации Ultimate Points phpbb3
          Вернуться наверх  
 


Аватар пользователя

Надеемся на лучшее, рад был помочь, доброй вам ночи :co_ol:


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

open_basedir отключен. Переустановил модификацию, ошибка пропала, только теперь как и вчера при добавлении новой темы, пишет, что она добавлена, только на форуме она не появляется. Где ещё можно искать причину?
У меня просильвер стоит, это же мод для просильвера?


          Вернуться наверх  
 


Аватар пользователя

Всё. Вроде разобрался, мой опыт вряд ли кому пригодится. Во время установки мода я скопировал не всю строчку кода. Пропустил } и отсюда все беды. Хотя может кому и пригодится такой опыт: "при установке модов - даже отсутствием одного символа может всё испортить"(


          Вернуться наверх  
 


Аватар пользователя

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


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Спасибо. Установил оба мода. Доволен как слон :hi_hi_hi: Не подскажите, как сделать так, чтобы в темах под профилем отображались подарки?


          Вернуться наверх  
 


Аватар пользователя

Именно под профилем? Не под подписью??? Какой стиль используете?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Ну хоть где-нибудь отображался, ато получается кроме владельца подарка, его больше никто не видит. Лучше всего - на странице профиля. Можно ещё в минипрофиле на странице темы. Правда не знаю как это будет выглядеть, надо смотреть.
У меня просильвер.


          Вернуться наверх  
 


Аватар пользователя

Вообще то если в профиле пользователь не выбрал Показывать товар на полке, то он нигде и не будет отображаться, а если нажать на Показывать товар на полке, то подарок будет и при просмотре профиля отображаться и при просмотре темы


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Очень странно, я все эти настройки выставил, но ничего не отображается. У меня ещё никогда с модами так туго не было...)


          Вернуться наверх  
 


Аватар пользователя

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


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

В том то и дело, всё почистил, включил опцию отображения и ноль. Може ещё плагин какой-то нужен или быть может причина в другом. Когда я мод устанавливал, мне выдало сообщение, что UMIL устарел и надо другой скачать. Но я не стал ничего другого, поставил всё то, что скачал с вашего сайта.


          Вернуться наверх  
 


Аватар пользователя

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


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

всё разобрался. У меня появляется ссылка "показать подарки...". Само появилось как-то.
Эти подарки индексируются ПС? Не хотелось бы.


          Вернуться наверх  
 


Аватар пользователя

Ну так скройте блок, отвечающий за их отображение, валидным ноиндексом
<!--noindex-->тута код который мы скрываем<!--/noindex-->
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Это где надо добавлять, в overall_header?


          Вернуться наверх  
 


Аватар пользователя

Нет, код отвечающий за отображение подарков под подписью находится в styles/prosilver/template/viewtopic_body.html, найти
<!-- IF postrow.S_SIG_SHELF -->
         <div class="signature">
            <div>
               <span onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerHTML = '&lt;a href=\'#\' onclick=\'return false;\'> {L_SHOP_SHELF_HIDE} &lt;/a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '&lt;a href=\'#\' onclick=\'return false;\'> {L_SHOP_SHELF_OPEN} &lt;/a>'; }">
               <a href="#" onclick="return false;">{L_SHOP_SHELF_OPEN}</a></span>
            </div>

            <div class="quotecontent">
               <div style="display: none;">
                  {L_SHOP_MORE_DETAIL}{PROFILE_LINK}<br /><br />
                  <table>
                     <tr>
                        <!-- BEGIN shelf_items_sig -->
                        <td style="text-align: center;">
                           {postrow.shelf_items_sig.ICON}&nbsp;&nbsp;<br />
                           {postrow.shelf_items_sig.PCS} {L_SHOP_PCS}
                        </td>
                        <!-- END shelf_items_sig -->
                     </tr>
                  </table>
               </div>
            </div>
         </div>
         <!-- ENDIF -->
 

Заменить на
<!--noindex-->
<!-- IF postrow.S_SIG_SHELF -->
         <div class="signature">
            <div>
               <span onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerHTML = '&lt;a href=\'#\' onclick=\'return false;\'> {L_SHOP_SHELF_HIDE} &lt;/a>'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerHTML = '&lt;a href=\'#\' onclick=\'return false;\'> {L_SHOP_SHELF_OPEN} &lt;/a>'; }">
               <a href="#" onclick="return false;">{L_SHOP_SHELF_OPEN}</a></span>
            </div>

            <div class="quotecontent">
               <div style="display: none;">
                  {L_SHOP_MORE_DETAIL}{PROFILE_LINK}<br /><br />
                  <table>
                     <tr>
                        <!-- BEGIN shelf_items_sig -->
                        <td style="text-align: center;">
                           {postrow.shelf_items_sig.ICON}&nbsp;&nbsp;<br />
                           {postrow.shelf_items_sig.PCS} {L_SHOP_PCS}
                        </td>
                        <!-- END shelf_items_sig -->
                     </tr>
                  </table>
               </div>
            </div>
         </div>
         <!-- ENDIF -->
<!--/noindex-->
 


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Премного благодарен!
Не поверите, что у меня ещё случилось..)
Товары отображаются на полке только у администратора, и только он их видит. Остальные пользователи не видят ни свои подарки, ни администратора.
Может тут что-то с форумными правами?


          Вернуться наверх  
 


Аватар пользователя

Админка - Права доступа - Права групп, выбираем группу, Расширенные права - Points - пункт Can use the Shop или Может использовать магазин - ДА
Ну и еще поглядите настройки Магазина в админке на вкладке Модули


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

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


          Вернуться наверх  
 


Аватар пользователя

А как вы вообще проверяте видят ли пользователи подарки других???


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя User reputation points phpbb3 (Репутация)
User reputation points - модификация для phpbb3, организующая на форуме систему репутации пользователя, как графическую так и текстовую

DeaDRoMeO

209

10758

Аватар пользователя

10 окт 2015, 15:25

DeaDRoMeO

Аватар пользователя DM Easy Download System phpbb3 (Каталог файлов)
DM Easy Download System - модификация для phpbb3, организующая на форуме удобный каталог файлов, с некоторыми расширенными возможностями

DeaDRoMeO

44

2464

Аватар пользователя

05 дек 2014, 18:10

nevod

Аватар пользователя Top Stats phpbb3
Top Stats - модификация для phpbb3, организующая на главной странице форума 7 блоков с разнообразной статистикой

DeaDRoMeO

73

11533

Аватар пользователя

08 янв 2016, 11:22

DeaDRoMeO

Аватар пользователя FAQ Manager phpbb3
FAQ Manager - модификация для phpbb3, позволяющая редактировать FAQ через администраторский раздел

tralan

15

2700

Аватар пользователя

11 июн 2016, 15:25

Beksssss

Аватар пользователя BAN redirect URL phpbb3
BAN redirect URL - модификация для phpbb3, позволяющая перенаправлять заблокированных пользователей по любому адресу

DeaDRoMeO

21

4971

Аватар пользователя

16 июн 2014, 05:05

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


cron

Самая неформальная поддержка phpBB :P