Поблагодари автора прямо сейчас на странице Спасибо!

OsCommerce

Материал из Пингвиньи радостей

Перейти к: навигация, поиск

Содержание

Статья о Php-скрипте интернет-магазина osCommerce

osCommerce это OpenSource Php-скрипт создающий сайт выполняющий функции интернет-магазина.
Сайт проекта http://www.oscommerce.com/

Установка

Пакет отсутствует в дистрибутиве поставки (хранилище) Debian.

Для установки пакета:

  Замечание:
  На сайте на проекта приведены лишь англо-язычные версии программы.
  Последняя версия на момент написания статьи это версия osCommerce Online Merchant v3.0 Alpha 5.
  Но данную версию не администрировать, не русифицировать патчем service-pack-1-6r не удалось.
  В то время как для osCommerce версии 2.2_RC2a доступен для скачивания уже русифицированный вариант.
  В связи с этим последующее описание будет приводиться именно для этой версии Php-скрипта.
  • скачиваем osCommerce версии 2.2_RC2a
  • распаковываем содержимое, например в каталог <WWW_ROOT>/osCommerce
  • устанавливаем права доступа к данному каталогу
  • создаём mysql базу oscommerce (например используя пакет Phpmyadmin)
  • создаём файл конфигурации <WWW_ROOT>/osCommerce/apache.conf apache2
  • создаём ссылку на этот файл в каталоге /etc/apache2/conf.d (например с именем oscommerce.conf)
  • перезапускаем веб-сервер apache2: # /etc/init.d/apache2 restart

Для завершения установки необходим первый запуск

Первый запуск

Во время первого запуска создаётся структура базы и происходит завершение настройки Php-скрипта.
Для осуществления первого запуска

  Database Server            - localhost
  Username                   - имя пользователя имеющего право доступа к базам mysql
  Password                   - пароль пользователя (например смотри файл /etc/mysql/debian.cnf или системные root)
  Database Name              - oscommerce
  • заполняем параметры Web Server
  WWW Address                - указываем свой интернет адрес
  Webserver Root Directory   - указываем каталог в котором размещён php-скрипт

Установка пакета завершена.
Для повышения безопасности сайта

  • удаляем (переименовываем) каталог <WWW_ROOT>/oscommerce/install
  • устанавливаем права доступа к файлу <WWW_ROOT>/oscommerce/catalog/includes/configure.php

Настройка

Для настройки сайта открываем "Административную панель" http://localhost/oscommerce/admin/ в браузере и вводим имя и пароль пользователя имеющего право осуществлять администрирование. В ряде случаев требуется получение прав суперпользователя прямое редактирование файлов конфигурации пакета в каталоге установки.

установка русского языка

Для настройка русского языка

  Name        - Русский
  Code        - ru
  Directory   - russian
  устанавливаем Set as default (использовать по-умолчанию)
  • осуществляем повторный вход с именем пользователя имеющего административные права, но с установкой языка "Русский"

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

замена вывода "0" в цене на слово "звоните"

Для замены вывода "0" в цене на слово "звоните"

  • в файле .../includes/classes/currencies.php
  ищем код:
  function display_price($products_price, $products_tax, $quantity = 1) {
     return $this->format($this->calculate_price($products_price, $products_tax, $quantity));
  }
  и заменяем на:
  function display_price($products_price, $products_tax, $quantity = 1) {
    if ($products_price > 0) {
      return $this->format($this->calculate_price($products_price, $products_tax, $quantity));
    } else {
      return TEXT_CALL;
    }
  }
  • в файле includes/languages/russian.php и добавляем языковую константу:
  define('TEXT_CALL','звоните');

Ссылки:

форматирование картинок

Для форматирования (изменения размера) картинок

  • открываем "Административную панель" в браузере
  • открываем закладку "Настройки \ Images"
  • изменяем параметры картинок, например
  Small Image Width           0       - ширина картинки товара
  Small Image Height          80      - высота картинки товара
  Heading Image Width         0       - ширина картинки раздела
  Heading Image Height        40      - высота картинки раздела
  Subcategory Image Width     0       - ширина картинки подкатегории
  Subcategory Image Height    25      - высота картинки подкатегории
  Calculate Image Size        true
  Image Required              true
  Внимание!
  если ширина и высота установлены в 0, то картинки будут в натуральную высоту
  если ширина или высота установлены в 0, то картинки будут масштабироваться по оставшемуся параметру
  если ширина и высота отличны от 0, то картинки будут перемасштабироваться с изменением пропорций
  • для применения изменений нажимаем "Обновить"

Ссылки:

форматирование текста описания товара

Для форматирование текста описания товара

  • открываем "Административную панель" в браузере
  • открываем закладку "Каталог \ Категории товары" и переходим в редактирование необходимого изделия
  • в окне "Описание товара" вводим строки, например
  Габариты (ВхШхГ) (cм)    <br>        - тег <br> перенесёт текст на следующую строчку 
  Скорость отжима (об/мин) <b> 800</b> - тег <b> осуществит выделение текста до тега </b> жирным шрифтом 
  • для применения изменений нажимаем "Предпросмотр / Обновить"

Ссылки:

изменение логотипа сайта

Для изменения логотипа сайта

  • в файле .../catalog/includes/header.php
  ищем код:
  <td valign="middle"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'store_logo.png', STORE_NAME) . '</a>'; ?></td>
  и заменяем на:
  <td valign="middle"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image(DIR_WS_IMAGES . 'kare-logo.jpg', STORE_NAME) . '</a>'; ?></td>

Ссылки:

устранение ошибки "eregi() is deprecated"

Возможно после установки/во время работы в лог файле /var/log/apache2/error.log появляется ошибкаFunction eregi() is deprecated in ....
Для устранения ошибки "eregi() is deprecated"

  • в файле .../catalog/includes/classes/language.php
  ищем код:
  if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {
  и заменяем его на:
  if (preg_match('/^(' . $value . ')(;q=[0-9]\\.[0-9])?$/i', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {

Ссылки:

Литература

Справочная информация

  • 13.01.2011: OsCommerce: создание статьи в википедии на примере osCommerce версии 2.2_RC2a
  • 21.01.2011: OsCommerce: добавлено описание изменения логотипа сайта
Личные инструменты