[Soft] PHP PRO BID - 2 часть

только что решил вопрос с переводами в скрипте, которые не заметил:
Русификация в административной части, раздел "отчетность" типы платежей пользователей по которым они сортируются: Receipt, Debit.
с поддержкой мультиязычности
URL в админчасти на раздел: Для просмотра ссылки Войди или Зарегистрируйся

В файле
/module/Members/view/members/account/history.phtml

примерно 137 строка:
<?php echo $accounting['transaction_filter']; ?>
заменить на:
<?php echo $this->_($accounting['transaction_filter']); ?>

Естественно для слов Receipt, Debit должен быть перевод в языковом файле ru_RU.po

Русификация email об истечении срока подписки на созданный магазин у пользователя (с поддержкой мультиязычности)

Когда осталось менее трех дней срока подписки на магазин пользователя,
то система высылает email сообщение пользователю и когда дата подписки на магазин превысила текущую

Файлы шаблонов писем:
/module/Members/view/emails/subscription-expiration-notification.phtml
/module/Members/view/emails/subscription-expired.phtml

В файле /module/Members/view/emails/subscription-expiration-notification.phtml
строки:
----------
<h4>
<?php echo sprintf(
$this->_('%s Expiration Notice'),
ucfirst($this->data['subscription']['name'])); ?>
</h4>
<p>
<?php echo sprintf(
$this->_('Your %s on <strong>%s</strong> will expire in %s days.'),
$this->data['subscription']['name'], $this->siteName, $this->data['days']); ?>
</p>
----------
заменить на:
----------
<h4>
<?php echo sprintf(
$this->_('%s Expiration Notice'),
$this->_($data['subscription']['name'])); ?>
</h4>
<p>
<?php echo sprintf(
$this->_('Your "%s" on <strong>%s</strong> will expire in %s days.'),
$this->_($data['subscription']['name']), $this->siteName, $this->data['days']); ?>
</p>
----------
В файле /module/Members/view/emails/subscription-expired.phtml
строки:
----------
<h4>
<?php echo sprintf(
$this->_('%s Expiration Notice'),
ucfirst($this->data['subscription']['name'])); ?>
</h4><p>
<?php echo sprintf(
$this->_('Your %s on <strong>%s</strong> has expired.'),
$this->data['subscription']['name'], $this->siteName); ?>
</p>
----------
заменить на:
----------
<h4>
<?php echo sprintf(
$this->_('%s Expiration Notice'),
$this->_($data['subscription']['name'])); ?>
</h4><p>
<?php echo sprintf(
$this->_('Your %s on <strong>%s</strong> has expired.'),
$this->_($data['subscription']['name']), $this->siteName); ?>
</p>
----------
Естественно для фраз:
"Store Subscription" (должен быть в файле ru_RU.php)
"%s Expiration Notice"
"Your %s on <strong>%s</strong> will expire in %s days."
"Your %s on <strong>%s</strong> has expired."
должен быть перевод в языковом файле.
----------
Невозможно создать/переименовать магазин с названием на русском языке (выскакивает ошибка скрипта по таймауту)
актуально для версий 7.1, 7.2 с версии 7.3 уже решен этот вопрос
файл:
/library/Cube/View/Helper/Url.php из версии 7.1 заменяем файлом с версии 7.6
Код:
В принципе, в файле 
/library/Cube/View/Helper/Url.php
добавлено пару функций всего и файл сохранен в кодировке utf-8 без BOM:
перед строкой:
-----
public function url($params, $name = null, $addGetParams = false, array $skipParams = null, $addBaseUrl = true, $cleanString = true)
-----
добавлены строки:
-----
  protected static $_charMap = array(
  // Latin
  'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'AE', 'Ç' => 'C',
  'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
  'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ő' => 'O',
  'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ű' => 'U', 'Ý' => 'Y', 'Þ' => 'TH',
  'ß' => 'ss',
  'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c',
  'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
  'ð' => 'd', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ő' => 'o',
  'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ű' => 'u', 'ý' => 'y', 'þ' => 'th',
  'ÿ' => 'y',
  // Latin symbols
  '©' => '(c)',
  // Greek
  'Α' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',
  'Ι' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', 'Ν' => 'N', 'Ξ' => '3', 'Ο' => 'O', 'Π' => 'P',
  'Ρ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'PS', 'Ω' => 'W',
  'Ά' => 'A', 'Έ' => 'E', 'Ί' => 'I', 'Ό' => 'O', 'Ύ' => 'Y', 'Ή' => 'H', 'Ώ' => 'W', 'Ϊ' => 'I',
  'Ϋ' => 'Y',
  'α' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', 'ε' => 'e', 'ζ' => 'z', 'η' => 'h', 'θ' => '8',
  'ι' => 'i', 'κ' => 'k', 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => '3', 'ο' => 'o', 'π' => 'p',
  'ρ' => 'r', 'σ' => 's', 'τ' => 't', 'υ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'ps', 'ω' => 'w',
  'ά' => 'a', 'έ' => 'e', 'ί' => 'i', 'ό' => 'o', 'ύ' => 'y', 'ή' => 'h', 'ώ' => 'w', 'ς' => 's',
  'ϊ' => 'i', 'ΰ' => 'y', 'ϋ' => 'y', 'ΐ' => 'i',
  // Turkish
  'Ş' => 'S', 'İ' => 'I', 'Ğ' => 'G',
  'ş' => 's', 'ı' => 'i', 'ğ' => 'g',
  // Romanian
  'Ă' => 'A', 'ă' => 'a',
  'Ș' => 's', 'ș' => 's', 'Ț' => 'T', 'ț' => 't',
  // Russian
  'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'Yo', 'Ж' => 'Zh',
  'З' => 'Z', 'И' => 'I', 'Й' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O',
  'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
  'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sh', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'E', 'Ю' => 'Yu',
  'Я' => 'Ya',
  'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'yo', 'ж' => 'zh',
  'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o',
  'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
  'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu',
  'я' => 'ya',
  // Ukrainian
  'Є' => 'Ye', 'І' => 'I', 'Ї' => 'Yi', 'Ґ' => 'G',
  'є' => 'ye', 'і' => 'i', 'ї' => 'yi', 'ґ' => 'g',
  // Czech
  'Č' => 'C', 'Ď' => 'D', 'Ě' => 'E', 'Ň' => 'N', 'Ř' => 'R', 'Š' => 'S', 'Ť' => 'T', 'Ů' => 'U',
  'Ž' => 'Z',
  'č' => 'c', 'ď' => 'd', 'ě' => 'e', 'ň' => 'n', 'ř' => 'r', 'š' => 's', 'ť' => 't', 'ů' => 'u',
  'ž' => 'z',
  // Polish
  'Ą' => 'A', 'Ć' => 'C', 'Ę' => 'e', 'Ł' => 'L', 'Ń' => 'N', 'Ś' => 'S', 'Ź' => 'Z',
  'Ż' => 'Z',
  'ą' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ś' => 's', 'ź' => 'z',
  'ż' => 'z',
  // Latvian
  'Ā' => 'A', 'Ē' => 'E', 'Ģ' => 'G', 'Ī' => 'i', 'Ķ' => 'k', 'Ļ' => 'L', 'Ņ' => 'N',
  'Ū' => 'u',
  'ā' => 'a', 'ē' => 'e', 'ģ' => 'g', 'ī' => 'i', 'ķ' => 'k', 'ļ' => 'l', 'ņ' => 'n',
  'ū' => 'u',
  // Arabic
  'أ' => 'a', 'ب' => 'b', 'ت' => 't', 'ث' => 'th', 'ج' => 'g', 'ح' => 'h', 'خ' => 'kh', 'د' => 'd',
  'ذ' => 'th', 'ر' => 'r', 'ز' => 'z', 'س' => 's', 'ش' => 'sh', 'ص' => 's', 'ض' => 'd', 'ط' => 't',
  'ظ' => 'th', 'ع' => 'aa', 'غ' => 'gh', 'ف' => 'f', 'ق' => 'k', 'ك' => 'k', 'ل' => 'l', 'م' => 'm',
  'ن' => 'n', 'ه' => 'h', 'و' => 'o', 'ي' => 'y'
  );
--------------------------------------------------
и

перед строкой:
--------------------------------------------------
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
--------------------------------------------------
добавлена строка:
--------------------------------------------------
$string = str_replace(array_keys(self::$_charMap), self::$_charMap, $string);
--------------------------------------------------
----------
Дисклаймер: все правки которые делаю/описываю - пытаюсь делать минимум правок в системных файлах скрипта.
И ессно перед изменениями чего либо, делайте бэкапы - не забывайте))))
 
Последнее редактирование:
Кто подскажет в каком файле делаются правки на главной странице ?

Так же вопрос, как увеличить отображение лотов на главной странице ?

Еще назрел вопрос, через базу репутацию пользователю подправить нельзя ?!
Лично у меня не получилось.
 
Последнее редактирование модератором:
Так же вопрос, как увеличить отображение лотов на главной странице ?
Если увеличить кол-во отображаемых товаров на главной
в версии PHPProBid 7.6, в админке есть настройки по ссылке: Для просмотра ссылки Войди или Зарегистрируйся

Если версия PHPProbid старее, то в файле module/Listings/src/Listings/Controller/Browse.php

Изменение тип вывода товаров списком или каруселью на главной
:
Код:
Примерно 188 строка:
        $carousel = ($this->getRequest()->getParam('carousel')) ? true : false;

true заменить на false, чтоб убрать карусель и вывести списком
----------
Или для каждой группы отдельно указать как выводить (hpfeat, recent, ending, popular):
/module/App/view/app/index/index.phtml

'carousel' => true,

заменить для отключения на:
'carousel' => false,

Изменение кол-ва выводимых товаров, это там же в файле module/Listings/src/Listings/Controller/Browse.php
меняй на нужные тебе числы, в карусели не работает, работает только если списком выводишь товары на главной без карусели:
Код:
  if (!$itemsPerPage) {
  $itemsPerPage = 20;
  }

  $paginator->setPageRange(5)
  ->setItemCountPerPage($itemsPerPage)
  ->setCurrentPageNumber($pageNumber);

Еще назрел вопрос, через базу репутацию пользователю подправить нельзя ?!
насчет репутации, можно удалять в админке
твойсайт/admin/users/reputation
если изменять репутацию в базе, то там взаимосвязанные поля в базе в таблицах ppb_users и ppb_reputation.
Создай одну репутацию после продажи лота и через phpmyadmin увидишь что в ppb_reputation появится две записи одна для продавца, вторая для покупателя и у юзера в таблие ppb_users в поле reputation_data появится код.
к примеру в таблице ppb_reputation поле score, для положительного отзыва вписать 5.00, для нейтрального 3.00, для негативного 1.00
 
Последнее редактирование:
Shamanchik, огромное спасибо!
То что доктор прописал.

Вот бы еще найти в каком файле делать правки на главной странице =)
 
Вот бы еще найти в каком файле делать правки на главной странице =)
Универсального файла нет, в зависимости от того что надо поправить/добавить.
Если к примеру добавить баннер внизу всех страниц слева и используется шаблон standart, то в этом файле:
themes/standard/layout.phtml
Код:
        <!-- footer adverts -->
        <?php
        $advert = $this->advert()->findBySection('footer');

        if ($advert !== null) {
            ?>
            <p class="text-center hidden-xs">
                <?php echo $this->advert($advert)->display(); ?>
            </p>
        <?php } ?>

        <div class="col-sm-5 col-xs-12">
            <div>
                <strong>&copy;</strong> копирайт мегапуперсайта
            </div>
            <?php if ($this->settings['enable_social_network_links']) { ?>
                <div class="social">
                    <?php echo $this->social()->clearListing()->display(); ?>
                </div>
тут код твоего баннера внизу страницы слева

Делал перевод для версии 7.6 инструмента Bulk Lister (массовая загрузка лотов из файла csv).
Замеченные ошибки:
1) не работает загрузка csv файла (возможно из-за локального сервера)
2) нужно отключать перевод, чтоб во вкладке "Структура файла" не делался перевод имен полей...

Наконец-то, я завершил полностью морфологический перевод версии PHPProBid 7.6 на русский язык (с полным сохранением совместимости с англ версией )
Перевел все сообщения и надписи, включая категории (всего 5898), таблица выбора стран (всего 220).
Правда некоторые категории выглядят странными для стран бывшего СНГ, так же в названиях категориях есть повторы и синтаксические ошибки :)
В результате перевода, натыкался на ошибке в коде скрипта, в частности касаемо поддержки перевода.
 
Последнее редактирование:
Кстати, сегодня вышла новая версия скрипта - 7.8.
 
поставил на локалке версию 6.10 для пробы. выдает ошибки но сайт виден.
Deprecated: Function eregi() is deprecated in Z:\home\localhost\pro6\v6.11\includes\init.php on line 87

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\pro6\v6.11\includes\init.php:60) in Z:\home\localhost\pro6\v6.11\includes\global.php on line 65
в чем дело?


а на версии 7 при активации после ввода админ и пароля ошибка

Fatal error: Uncaught exception 'Cube\Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'phppro7.ppb_users' doesn't exist [Query]: SELECT users.* FROM ppb_users AS users WHERE (username = 'ser')' in C:\xampp\htdocs\phppro7\library\Cube\Db\Statement\Pdo.php:227 Stack trace: #0 C:\xampp\htdocs\phppro7\library\Cube\Db\Adapter\AbstractAdapter.php(180:( Cube\Db\Statement\Pdo->execute(Array) #1 C:\xampp\htdocs\phppro7\library\Cube\Db\Adapter\PDO\Mysql.php(226:( Cube\Db\Adapter\AbstractAdapter->query(Object(Cube\Db\Select), Array) #2 C:\xampp\htdocs\phppro7\library\Cube\Db\Table\AbstractTable.php(507:( Cube\Db\Adapter\PDO\Mysql->query(Object(Cube\Db\Select)) #3 C:\xampp\htdocs\phppro7\library\Cube\Db\Table\AbstractTable.php(543:( Cube\Db\Table\AbstractTable->fetchAll(Object(Cube\Db\Select), NULL, 1, NULL) #4 C:\xampp\htdocs\phppro7\library\Ppb\Service\AbstractService.php(259:( Cube\Db\Table\AbstractTable->fetchRow(Object(Cube\Db\Select)) #5 C:\xampp\htdocs\phppro7\library\Ppb\Service\Users.php(26 in C:\xampp\htdocs\phppro7\library\Cube\Db\Statement\Pdo.php on line 227

скиньте пожалуйста ссылку на 7.1 (Нормальную) желательно с рус

на что ставить 7 версию. на денвер почему то не получилось.

поставил 7.6 не могу войти в admin в чем может быть дело? заранее спасибо.
на 7.1 требует ключ как решить проблему? не ругайтесь только неделю разбираюсь.

дополнительно. если проблема версии 7.1 то возможно ссылку на рабочую версию, желательно с рус
 
Последнее редактирование модератором:
Подскажите можно ли сделать импорт/экспорт категорий? Руками вбивать мягко говоря грустно, а в админке ничего не нашел на эту тему... Версия 7.6
 
версия 7.6 не могу войти в admin. В чем дело вхожу сайт/admin
 
Кто подскажет почему после совершения покупки в письме которое отсылается продавцу нет имени и фамилии покупателя? И телефона тоже нет...

Untitled-1.jpg
 
Назад
Сверху