LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 01:32:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 44   Вниз
  Добавить закладку  |  Печать  
Автор Тема: [download] Модуль вывода товаров для VirtueMart (1.2.3 и 2.1)  (Прочитано 173663 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« : 13.07.2009, 01:52:57 »


Представляю Вашему внимания достаточно универсальный модуль для VirtueMart, версия mod_VirtueMart_universal для Joomla 1.5.

Версия модуля слайдера товаров 2.0 (VM1.1.9 J1.5)
Демонстрация и информация

Версия модуля 2.1
Демонстрация
Подробная информация
Новые возможности модуля версии 2.1

Почему этот модуль, а не родной от разработчика VirtueMart Soeren - родной модуль на 6 товаров генерит от 40 запросов в БД, мой же только один SQL запрос

Возможности
 - показать последние добавленные товары
 - показать наиболее продаваемые товары
 - показать товары, отмеченные как featured
 - показывать случайные товары
 - задать количество показываемых товаров
 - задать категории для выборки (ID через запятую)
 - возможно включения JS подсказок для ссылок в модуле, с использованием либо встроенной библиотеки Mootools либо Jquery. Внимание - Jquery не включена в модуль, подключение библиотеки в код контролируйте самостоятельно. Если на сайте одновременно подключены обе библиотеки - JS эффект подсказок отрабатывать не будет, покажется стандартный title для ссылки. JS эффекты отрабатываются для элемента title для .mod_vm_universal a, для полноценного управления изучите CSS. Оформление заложено в файле modules\mod_VirtueMart_universal\files\mod_virtuemart_universal.css (см. комментарии)

Дополнительно:
 - код максимально документирован, смотрите файл modules\mod_VirtueMart_universal\tmpl\default.php для создания собственного шаблона (внимание - класс mod_vm_universal используется для работы JS tooltip)
справка по шаблону
- для достижения валидности и уменьшения нагрузки на сервер перед публикацией сайта на production рекомендуется все JS и CSS файлы компоновать в один файл и применять сжатие (работа соответствующих инструментов и азы создания сайтов находятся вне данной темы)
 - для достижения валидности необходимо подключить скрипт Jquery и  Mootools до вызова скриптов тултипов (всплывающих подсказок), смотри комментарии в helper.php) в блоке HEAD, по умолчанию они выводятся в BODY для работы на 99% хостов без конфликтов
 - по умолчанию HTML структура модуля для каждого элемента такова:
html вывод элементов модуля
- если у вас VirtueMart используется в качестве каталога (и соответственно нет цен) - решение ниже

скриншот модуля

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

Тестировал на Joomla 1.5.10-12 и VirtueMart 1.1.3, огромная благоданость Sulpher за тестирование и общие рекомендации

Версия модуля 1.2.3

Версия модуля 1.2.2

UPD
Версия модуля 1.2.1

* mod_virtuemart_universal_1.2.1.zip (6.23 Кб - загружено 1007 раз.)
* mod_virtuemart_universal_1.2.2.zip (9.28 Кб - загружено 2312 раз.)

* scrin.gif (51 Кб, 487x679 - просмотрено 11341 раз.)
* mod_virtuemart_universal_1.2.3.zip (9.31 Кб - загружено 10152 раз.)
« Последнее редактирование: 19.02.2012, 00:08:24 от beliyadm » Записан
 
beagler
Moderator
*****

Репутация: +316/-4
Offline Offline

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #121 : 02.10.2009, 23:45:39 »

cherry, а я не понял. А смысл практически заменять этим модулем весь вывод на front VirtueMart?
Ведь вы пытаетесь продублировать функционал shop.browse.php
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #122 : 02.10.2009, 23:51:07 »

cherry, а я не понял. А смысл практически заменять этим модулем весь вывод на front VirtueMart?
да нет, смысл есть
К примеру я хочу показать на главной самые продаваемые товары (100 штук) и дать юзверю возможность сортировать по цене, названию и другим параметрам.
Такого функционала магазин не дает, потому придется дописывать модуль
Записан
cherry
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Женский
Сообщений: 54



« Ответ #123 : 03.10.2009, 00:36:04 »

cherry, а я не понял. А смысл практически заменять этим модулем весь вывод на front VirtueMart?
Ведь вы пытаетесь продублировать функционал shop.browse.php

А что я теряю? может я целиком еще не осознаю будущие "грабли" выбранного пути..
Ну мне очень удобно разбираться с этим модулем, а в компоненте VM еще сложнова-то ориентируюсь, и нет понятной документации и шаблонизации.
Для меня сейчас главное дизайн довести до ума и с модулем юниверсал у меня неплохо получается Azn

С Joomla знакома ровно неделю. Поэтому очень вам благодарна за отзывчивость, дельные советы и подсказки! Спасибо вам большое! Smiley
Записан
cherry
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Женский
Сообщений: 54



« Ответ #124 : 05.10.2009, 23:27:13 »

Подскажите пожалуйста!
хочу этот грид http://trirand.com/jqgrid/jqgrid.html# или на рус. http://www.simplecoding.org/jquery-grid-plugin-prodvinutoe-reshenie-dlya-sozdaniya-tablic.html прицепить к компоненте VirtueMarUniversal..

вот этот код вроде как в default.php нужно вставить:

Код:
<table id="list" class="scroll"></table>
    <div id="pager" class="scroll" style="text-align:center;"></div>
    <script type="text/javascript" src="jquery-1.3.1.min.js"></script>
    <script type="text/javascript" src="jquery.jqGrid.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("#list").jqGrid({
            url:'getdata.php',
            datatype: 'utf8',
            mtype: 'POST',
            colNames:['#', 'Наименование', 'спец.предложение', 'кол-во','цена','в корзину'],
            colModel :[
                {name:'id', index:'id', width:30}
                ,....................................
                ],
            pager: jQuery('#pager'),
            rowNum:5,
            rowList:[5,10,30],
            sortname: 'id',
            sortorder: "asc",
            viewrecords: true,
            imgpath: 'themes/basic/images',
            caption: 'заголовок'
        });
    });
    </script>

но из-за небольшого опыта возникает массу вопросов  Sad
самый главный:
мне нужно передать параметр    url:'getdata.php' , как в примере. Где файл getdata.php формирует данные для грида.

он содержит приблизительно такой код из примера:

Код:
  1.
      <?php
   2.
      try {
   3.
          //читаем параметры
   4.
          $curPage = $_POST['page'];
   5.
          $rowsPerPage = $_POST['rows'];
   6.
          $sortingField = $_POST['sidx'];
   7.
          $sortingOrder = $_POST['sord'];
   8.
        
   9.
          //подключаемся к базе
  10.
          $dbh = new PDO('mysql:host=localhost;dbname=name', 'user', 'pass');
  11.
          //указываем, мы хотим использовать utf8
  12.
          $dbh->exec('SET CHARACTER SET utf8');
  13.
      
  14.
          //определяем количество записей в таблице
  15.
          $rows = $dbh->query('SELECT COUNT(id) AS count FROM users');
  16.
          $totalRows = $rows->fetch(PDO::FETCH_ASSOC);
  17.
      
  18.
          $firstRowIndex = $curPage * $rowsPerPage – $rowsPerPage;
  19.
          //получаем список пользователей из базы
  20.
          $res = $dbh->query('SELECT * FROM users ORDER BY '.$sortingField.' '.$sortingOrder.' LIMIT '.$firstRowIndex.', '.$rowsPerPage);
  21.
        
  22.
          //сохраняем номер текущей страницы, общее количество страниц и общее количество записей
  23.
          $response->page = $curPage;
  24.
          $response->total = ceil($totalRows['count'] / $rowsPerPage);
  25.
          $response->records = $totalRows['count'];
  26.
      
  27.
          $i=0;
  28.
          while($row = $res->fetch(PDO::FETCH_ASSOC)) {
  29.
              $response->rows[$i]['id']=$row['id'];
  30.
              $response->rows[$i]['cell']=array($row['id'], $row['surname'], $row['fname'], $row['lname']);
  31.
              $i++;
  32.
          }
  33.
          echo json_encode($response);
  34.
      }
  35.
      catch (PDOException $e) {
  36.
          echo 'Database error: '.$e->getMessage();
  37.
      }
  38.
      
  39.
      // end of getdata.php


Но у нас же в Joomla за формирование данных отвечает helper.php. я ж не буду его в параметре функции в default.php указывать. Объясните пожалуйста, как мне это все связать?!
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #125 : 06.10.2009, 17:39:06 »

cherry - какое кол-во данных требуется выводить в модуле? Может быть стоит использовать плагин tablesorter без AJAX подгрузки данных если их немного? Его прицепить вообще проблем нет, задать классы для заголовков таблицы и подключить JS\CSS файлы плагина.
А в данном случае я бы в helper.php прописал дополнительно функцию по обработке AJAX запросов. Хотя в принципе когда делал сам подобную штуку написал отдельно компонент из одного файла обработчика, к которому обращался подобным образом index.php?option=com_ajax&view=select (то есть этот компонент заменял файл getdata.php и использовал стандартное API движка для работы с БД)
Записан
cherry
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Женский
Сообщений: 54



« Ответ #126 : 06.10.2009, 18:34:40 »

я смотрела tablesorter, работает шустренько, но в нем нет постраничной навигации и поиска по товарам. объемы думаю будут не более 200 товаров на категорию

Цитировать
Хотя в принципе когда делал сам подобную штуку написал отдельно компонент из одного файла обработчика, к которому обращался подобным образом index.php?option=com_ajax&view=select (то есть этот компонент заменял файл getdata.php и использовал стандартное API движка для работы с БД)

это для меня сложнова-то будет, я еще не на столько сильна в Joomla да и в аяксе, чтоб такое написать.. а вы не могли бы поделиться примерчиком, если у вас есть, как прикрутить к вашему компоненту этот скриптик.
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #127 : 06.10.2009, 18:39:27 »

Увы, поделится не могу, там слишком специфичное решение в рамках проекта не для распространения
Но смысл тот же - пишем пустой совершенно компонент (за болванку можно взять мой демо пример) и все что происходит в getdata.php писать в теле компонента (обращаясь соответственно по адресу типа index.php?option=com_demo).
Вообще работа с AJAX далеко не тривиальная задача, сам постоянно ничего не понимаю в происходящем Azn
Записан
cherry
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Женский
Сообщений: 54



« Ответ #128 : 06.10.2009, 18:51:05 »

Оки попробую написать..
Я правильно поняла? этот компонентик будет невизуальный, а просто будет возвращать данные которые я буду в default.php передавать в функцию?

Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #129 : 06.10.2009, 18:56:44 »

Да конечно, на него нигде не надо давать никаких ссылок, он будет обрабатывать AJAX запросы из модуля и возвращать результат. Конечно можно делать и отдельным файликом getdata.php, но с компонентом проще работать с API движка (доступ к БД и прочее), суть едина
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #130 : 07.10.2009, 14:01:50 »

beliyadm

Так модуль научился таки выводить на главной странице только категории товаров или нет ? Если нет, то направте на путь истинный как это реализовать )

Заранее извиняюсь, интернет жутко тормозит, все посты не смог прочитать без эмоционального взрыва )))
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #131 : 07.10.2009, 14:04:28 »

Так модуль научился таки выводить на главной странице только категории товаров или нет ? Если нет, то направте на путь истинный как это реализовать )
Нет не научился и не планирует, модуль предназначен для показа товаров из категорий, но не самих категорий.
Как это сделать - найти подходящий готовый модуль, написать свой, заказать разработку по предоставленному ТЗ
Записан
dushman1
Гость
« Ответ #132 : 08.10.2009, 13:46:46 »

привет всем у меня не получается установить этот модуль пробывал с админ понели и даже пробывал установить разархировав в папку Z:\home\localhost\www\site.ru\administrator\components\com_installer\module
все равно не получается говорит   Установочный файл не найден:
Z:\home\localhost\www\site.ru\administrator\components\com_installer\module\  
а при первом вореанте установки говорит Загрузка module - Загрузка сорвана
Неисправимая ошибка "PCLZIP_ERR_BAD_FORMAT (-10)"
[ Продолжить ... ]
Загрузка module - Сорвана
Установочный файл не найден:
[ Продолжить ... ]

может кто поможет решить проблему?  очь надо

joomla 1.0.15
vertuematr  1.0.15
а ну теперь все понятно там верху форума написано подходит для Joomla 1.5
« Последнее редактирование: 08.10.2009, 15:26:58 от dushman1 » Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #133 : 08.10.2009, 17:20:39 »

а ну теперь все понятно там верху форума написано подходит для Joomla 1.5
Да, модуль написан только для версии движка 1.5 и под 1.0 портироваться с моей стороны не будет
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #134 : 09.10.2009, 10:35:15 »

Еще один вопрос если не трудно.

Все работает просто замечательно, за модуль огромное спасибо!
Единственное, у меня цена отображается в формате "Цена: XX.XX000 руб" Тоесть добивает нули в конец.
Как привести разрядность к формату "Цена: XX.XX руб" ?

Ах да )) И где бы мне ввести проверку на имя изображения, и не отображать товары с "noimage.gif". Тоесть показывать товары только с изображениями..

Заранее спасибо )
« Последнее редактирование: 09.10.2009, 10:40:14 от wounderer » Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #135 : 09.10.2009, 12:34:15 »

Цитировать
Как привести разрядность к формату "Цена: XX.XX руб" ?
Для этого в модуле есть опция Обрезать цену (Обрезает значение цены до первой точки (пример: 48.12000 -> 48))

Цитировать
И где бы мне ввести проверку на имя изображения, и не отображать товары с "noimage.gif". Тоесть показывать товары только с изображениями..
Чуть сложней. Открываем хелпер модуля, находим главный запрос $query, в нем строку
Код
' WHERE p.product_publish= "Y" '.$where.' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
заменяем на
Код
' WHERE p.product_publish= "Y" '.$where.' AND p.product_thumb_image <> '' GROUP BY pid  ORDER BY '.$ordering.' LIMIT '.$max_items.'';
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #136 : 09.10.2009, 16:27:19 »

Не помогает...

T_CONSTANT_ENCAPSED_STRING

Я не особо силен в php, но я как понимаю это из за неправильно оформленной строки ? В частности кавычек ?

А по поводу цены.. Тоесть решения для округления или приведения к определнной разрядности нет ? ((( Только либо с разрядами либо нет ?

Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #137 : 09.10.2009, 16:35:25 »

Опция обрезания цены использует функцию floor (Возвращает наибольшее целое число, меньшее или равное указанному числовому выражению.)

По поводу ошибки - по идее моя модификация не должна вызывать такую, максимум что должно быть - просто пустой экран модуля из-за неправильного запроса. Приложи здесь свой хелпер с изменением
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #138 : 09.10.2009, 16:43:22 »

Вот..

* helper.rar (2 Кб - загружено 63 раз.)
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #139 : 09.10.2009, 16:48:41 »

И по поводу стоимости, можно ли на каком то этапе тогда вставить round(значение цены, 2); ??
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #140 : 09.10.2009, 16:50:44 »

И по поводу стоимости, можно ли на каком то этапе тогда вставить round(значение цены, 2); ??
можно конечно, весь хелпер и шаблон в твоем распоряжении
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #141 : 09.10.2009, 16:53:38 »

Поэксперементирую :-)

А вообще внесу свое скромное предложение в модуль добавить подобную функцию с возможностью выбора из админ панели количества цифр после запятой  :-) Очень удобно и актуально Wink

П.С. Спасибо за подсказки :-) Со стоимостью по крайней мере разобрался ))
« Последнее редактирование: 09.10.2009, 16:58:26 от wounderer » Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #142 : 09.10.2009, 16:55:29 »

А вообще внесу свое скромное предложение в модуль добавить подобную функцию с возможностью выбора из админ панели количества цифр после запятой  :-) Очень удобно и актуально Wink
еще раз - почему я всего этого не делаю - потому что не знаю структуру магазина досконально, какие именно данные могут лежать в этом поле и прочее. Поставил демо данные, увидел разделитель и внес возможность. В прочем же модификации не запрещены. Я пока такой опции вносить не буду
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #143 : 09.10.2009, 17:08:56 »

Ну тогда на всякий случай оригинальный helper.php приаттачиваю, который при обрезке цены оставляет копейки.. Может кому пригодится )

* helper.rar (1.99 Кб - загружено 77 раз.)
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #144 : 13.10.2009, 17:12:47 »

beliyadm, а как заставить модуль выводить только определнные товары ? Добавить к этим товарам аттрибут Futured ? И соответственно включить функции только Futured ? А другие методы решения задачи какие посоветуете ?
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #145 : 13.10.2009, 17:15:10 »

beliyadm, а как заставить модуль выводить только определнные товары ? Добавить к этим товарам аттрибут Futured ? И соответственно включить функции только Futured ? А другие методы решения задачи какие посоветуете ?
в данный момент только так, подобная возможность не рассматривалась и соответственно не внедрялась.
По аналогии весьма несложно сделать модификацию - добавить в XML параметр ID товара через запятую (см. категории) и в хелпере по образу и подобию работы с получением категорий и разделением их на отдельный ID из общей строки добавить в SQL запрос в WHERE условие выборки
Записан
wounderer
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 101



« Ответ #146 : 13.10.2009, 17:22:43 »

Очередное спасибо, буду работать ))) Как только закончу и оттестирую отчетаюсь о порядке действий на будущее :-)
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #147 : 13.10.2009, 17:27:24 »

В ХМЛ добавляем
Код
<param name="product_id" type="text" default="" label="ID категории" description="Вы можете через запятую указать ID требуемых товаров, если пусто - выборка идет из всех категорий" />
      
В хелпер
Код
$product_id 	= $params->get( 'product_id', null );
и после раздергивания $category_id добавляем
Код
if ($product_id)
{
$ids2 = explode( ',', $product_id );
JArrayHelper::toInteger( $ids );
$where .= ' AND (p.product_id=' . implode( ' OR p.product_id=', $ids2 ). ')';
}
Если нигде не ошибся (писал на глаз) то больше ничего не потребуется, если вносим через запятую нужные товары - то только они будут показываться
Записан
gora4o
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #148 : 13.10.2009, 22:27:57 »

Подскажите пожалуйста, как добавить кнопку купить к товару?

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

P.S. Решение я так и не нашел, а думаю будет интересно всем, если кто может  решить вопрос.
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #149 : 13.10.2009, 22:32:02 »

Цитировать
И сделать так, что бы цена бралась из флайпейджа категории?
не понял, что за фронтпейдж
Цитировать
как добавить кнопку купить к товару
Выдрать кусок кода из flypage и добавить в шаблон модуля, все параметры в принципе в нем уже есть

Возможно сделать все, но обе данные вариации в логику модуля не заложены, я ближайшие недели реализовывать не собирался
Записан
gora4o
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 21


« Ответ #150 : 14.10.2009, 00:00:52 »

Я вот высмотрел такой плагин, как vmproductsnapshots_1.1.3.j15

Там это работает, только как это объединить с твоим модулем, было бы очень супер.
Записан
Страниц: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 44   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet