Глава 16. osCommerce VaM для разработчика

Содержание

Функции
База данных
Формы
Ссылки
Почта
Картинки
Классы
Цены
Заказы
Корзина
Модули
Модули доставки
Модули оплаты
Модули итого
Боксы
Блоки

В данном разделе будут рассмотрены основные функции и классы, используемые в интернет-магазине osCommerce VaM Edition, а также другая информация, полезная для разработчиков, использующих "движок" osCommerce VaM Edition.

Функции

В данном разделе будут рассмотрены функции, используемые в интернет-магазине osCommerce VaM Edition.

База данных

Функции, используемые при работе с базой данных.

tep_db_connect

Подключение к базе данных магазина.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_connect:

  • $server

    Сервер базы данных.

  • $username

    Имя пользователя базы данных.

  • $password

    Пароль для доступа к базе данных.

  • $database

    Название базы данных, к которой Вы хотите подключиться.

  • $link

    Идентификатор связи с базой данных. В магазине по умолчанию используется идентификатор db_link.

Пример использования данной функции:

tep_db_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE);

Подключение к серверу DB_SERVER, базе данных DB_DATABASE, используя имя пользователя DB_SERVER_USERNAME и пароль DB_SERVER_PASSWORD.

DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE - константы, которые определяются пользователем при установке магазина, данные константы записываются в конфигурационные файлы интернет-магазина в процессе установки, таких файлов два: Конфиг файл каталога /includes/configure.php и конфиг файл администраторского отдела /admin/includes/configure.php.

tep_db_close

Закрытие сеанса связи с базой данных.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_close:

  • $link

    Идентификатор связи с базой данных. В магазине по умолчанию используется идентификатор db_link.

Пример использования данной функции:

tep_db_close();

Закрывает сеанс связи с базой данных интернет-магазина (идентификатор db_link).

tep_db_query

Запрос к базе данных.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_query:

  • $query

    Текст SQL запроса.

  • $link

    Идентификатор связи с базой данных. В магазине по умолчанию используется идентификатор db_link.

Пример использования данной функции:

tep_db_query("select * from " . TABLE_CURRENCIES);

Выборка данных из таблицы TABLE_CURRENCIES. Константа TABLE_CURRENCIES задаётся в /includes/database_tables.php

tep_db_perform

Выполнение запроса в базу данных. Обычно используется для упрощения исполнения запросов типа INSERT, UPDATE в базу данных.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_perform:

  • $table

    Таблица базы данных, в которую будет сделан SQL запрос.

  • $data

    Массив с данными.

  • $action

    Действие, либо insert, либо update. Значение по умолчанию: insert.

  • $parameters

    Дополнительные параметры (where).

  • $link

    Идентификатор связи с базой данных. В магазине по умолчанию используется идентификатор db_link.

Пример использования данной функции:

tep_db_perform(TABLE_CATEGORIES, $sql_data_array);

Запись данных в таблицу TABLE_CATEGORIES из массива $sql_data_array.

tep_db_fetch_array

Получение результата SQL запроса в виде массива данных.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_fetch_array:

  • $db_query

    SQL запрос.

Пример использования данной функции:

$currencies_query = tep_db_query("select * from " . TABLE_CURRENCIES);
echo $currencies = tep_db_fetch_array($currencies_query);

Будут выведены данные из таблицы TABLE_CURRENCIES в виде массива.

tep_db_num_rows

Возвращает число, т.е. количество столбцов в результате выполнения указанного SQL запроса.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_num_rows:

  • $db_query

    SQL запрос.

Пример использования данной функции:

$currencies_query = tep_db_query("select * from " . TABLE_CURRENCIES);
echo $currencies = tep_db_num_rows($currencies_query);

Будет выведено количество валют магазин. По умолчанию в магазине одна валюта, будет выведено число 1.

tep_db_output

Возвращает строку после обработки функцией (htmlspecialchars), т.е. преобразует специальные символы в html сущности.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_output:

  • $string

    Строка.

Пример использования данной функции:

echo tep_db_output('&"<>');

Будет выведена строка с данными символами, но в виде html-сущностей.

tep_db_input

Экранирует специальных символы, если не использовать данную функцию, могут быть ошибки при выполнении SQL запросов, содержащих спец. символы.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_input:

  • $string

    Строка.

  • $link

    Идентификатор связи с базой данных. В магазине по умолчанию используется идентификатор db_link.

Пример использования данной функции:

tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($categories_image->filename) . "'");

Обязательно используйте функцию tep_db_input при выполнении SQL запросов типа INSERT, UPDATE.

tep_db_prepare_input

Удаляет все лишние символы, которые могут вызывать ошибки.

Файл с исходным кодом данной функции: /includes/functions/database.php

Параметры функции tep_db_prepare_input:

  • $string

    Строка.

Пример использования данной функции:

$thousands_point = tep_db_prepare_input($_POST['thousands_point']);

Обязательно используйте функцию tep_db_prepare_input при работе с формами.

Формы

Функции, используемые при работе с формами.

tep_draw_form

Выводит тэг form, данная функция используется для упрощения работы с формами, все атрибуты html-тэга form можно задавать используя данную функцию.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_form:

  • $name

    Значение атрибута name html-тэга form.

  • $action

    Значение атрибута action html-тэга form.

  • $method

    Значение атрибута method html-тэга form.

  • $parameters

    Дополнительные параметры html-тэга form.

Пример использования данной функции:

echo tep_draw_form('new_category', 'form.php', 'post', 'enctype="multipart/form-data"');

Результат работы данного примера:

<form name="new_category" action="form.php" method="post" enctype="multipart/form-data">

tep_draw_input_field

Выводит input поле формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_input_field:

  • $name

    Значение атрибута name html-тэга input.

  • $value

    Значение атрибута value html-тэга input.

  • $parameters

    Дополнительные параметры html-тэга input.

  • $type

    Значение атрибута type html-тэга input. По умолчанию установлено значение text.

Пример использования данной функции:

echo tep_draw_input_field('telephone');

Результат работы данного примера:

<input type="text" name="telephone">

tep_draw_password_field

Выводит password поле формы, т.е. поле для ввода паролей.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_password_field:

  • $name

    Значение атрибута name html-тэга input.

  • $value

    Значение атрибута value html-тэга input.

  • $parameters

    Дополнительные параметры html-тэга input.

Пример использования данной функции:

echo tep_draw_password_field('password');

Результат работы данного примера:

<input type="password" name="password" maxlength="40">

tep_draw_selection_field

Выводит поле формы разного типа.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_selection_field:

  • $name

    Значение атрибута name html-тэга input.

  • $type

    Значение атрибута name html-тэга input.

  • $value

    Значение атрибута value html-тэга input.

  • $checked

    Отмечено данное поле или нет.

  • $parameters

    Дополнительные параметры.

Пример использования данной функции:

echo tep_draw_selection_field('test', 'radio');

Результат работы данного примера:

<input type="radio" name="test">

tep_draw_checkbox_field

Выводит checkbox поле формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_checkbox_field:

  • $name

    Значение атрибута name checkbox поля.

  • $value

    Значение атрибута value checkbox поля.

  • $checked

    Отмечено данное поле или нет.

  • $parameters

    Дополнительные параметры checkbox поля.

Пример использования данной функции:

echo tep_draw_checkbox_field('check', 'test', true);

Результат работы данного примера:

<input type="checkbox" name="check" value="test" CHECKED>

tep_draw_radio_field

Выводит radio поле формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_radio_field:

  • $name

    Значение атрибута name radio поля.

  • $value

    Значение атрибута value radio поля.

  • $checked

    Отмечено данное поле или нет.

  • $parameters

    Дополнительные параметры radio поля.

Пример использования данной функции:

echo tep_draw_radio_field('check', 'test', true);

Результат работы данного примера:

<input type="radio" name="check" value="test" CHECKED>

tep_draw_textarea_field

Выводит textarea поле формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_textarea_field:

  • $name

    Значение атрибута name radio поля.

  • $wrap

    Значение атрибута wrap html-тэга textarea.

  • $width

    Значение атрибута width html-тэга textarea.

  • $height

    Значение атрибута height html-тэга textarea.

  • $text

    Значение атрибута text html-тэга textarea.

  • $parameters

    Дополнительные параметры html-тэга textarea.

Пример использования данной функции:

echo tep_draw_textarea_field('test', 'soft', 50, 6);

Результат работы данного примера:

<textarea name="test" wrap="soft" cols="50" rows="6">

tep_draw_hidden_field

Выводит скрытое (hidden) поле формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_hidden_field:

  • $name

    Значение атрибута name html-тэга input.

  • $value

    Значение атрибута value html-тэга input.

  • $parameters

    Дополнительные параметры html-тэга input.

Пример использования данной функции:

echo tep_draw_hidden_field('test', 'value');

Результат работы данного примера:

<input type="hidden" name="test" value="value">

tep_hide_session_id

Выводит скрытое (hidden) поле формы с номером сессии, в случае, если сессия установлена.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Пример использования данной функции:

echo tep_hide_session_id();

tep_draw_pull_down_menu

Выводит drop-down меню.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_draw_pull_down_menu:

  • $name

    Значение атрибута name select поля.

  • $values

    Значение атрибута value option поля.

  • $default

    Выделенное по умолчанию значение drop-down меню.

  • $parameters

    Дополнительные параметры select поля.

  • $required

    Значение поля должно быть выбрано или нет.

Пример использования данной функции:

echo tep_draw_pull_down_menu('check', array(array('id' => '1', 'text' => 'test1'),array('id' => '2', 'text' => 'test2')));

Результат работы данного примера:

<select name="check"><option value="1">test1</option><option value="2">test2</option></select>

tep_image_submit

Выводит графическую submit кнопку формы.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_image_submit:

  • $img

    Название графического файла-кнопки.

  • $alt

    Значение атрибута alt.

  • $parameters

    Дополнительные параметры.

Пример использования данной функции:

echo tep_image_submit('button_continue.gif', 'Продолжить');

Результат работы данного примера:

<input type="image" src="includes/languages/russian/images/buttons/button_continue.gif" border="0" alt="Продолжить" title=" Продолжить ">

Ссылки

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

tep_href_link

Выводит url адрес страницы магазина в зависимости от указанных параметров. Все ссылки внутри магазина нужно строить используя данную функцию.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_href_link:

  • $page

    Название файла, на который указывает url адрес.

  • $parameters

    Параметры url адреса.

  • $connection

    SSL или NONSSL, по умолчанию указано NONSSL. В зависимости от данного параметра url адрес будет начинаться либо с http:// если NONSSL, либо с https:// если данный параметр установлен в SSL.

  • $add_session_id

    Добавлять номер сессии к адресу.

  • $search_engine_safe

    true или false. Строит так называемую SEO Friendly ссылку, заменяя в адресе все ? и & на /.

Пример использования данной функции:

echo tep_href_link(FILENAME_DEFAULT, 'cPath=0');

Результат работы данного примера:

http://sborka.loc/index.php?cPath=0

Почта

Функции, используемые для отправки email.

tep_mail

Отправляет email используя php функцию mail. Получатель письма, тема, содержание задаётся параметрами функии.

Файл с исходным кодом данной функции: /includes/functions/general.php

Параметры функции tep_mail:

  • $to_name

    Имя получателя письма.

  • $to_email_address

    E-mail адрес получателя.

  • $email_subject

    Тема письма.

  • $email_text

    Содержимое письма.

  • $from_email_name

    Имя отправителя.

  • $from_email_address

    E-mail адрес отправителя.

Пример использования данной функции:

tep_mail('Васе Пупкину', 'pupkin@vasya.ru', 'Письмо Васе!', 'Привет, Вася!', 'Имя отправителя', 'email@otpravitelya.ru');

Картинки

Функции, используемые для вывода картинок, кнопок.

tep_image

Выводит картинку.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_image_button:

  • $src

    Название графического файла.

  • $alt

    Значение атрибута alt тэга img.

  • $width

    Значение атрибута width тэга img.

  • $height

    Значение атрибута height тэга img.

  • $parameters

    Дополнительные параметры.

Пример использования данной функции:

echo tep_image(DIR_WS_IMAGES . 'img.gif', 'Картинка', '100', '100');

Результат работы данного примера:

<img src="images/img.gif" border="0" alt="Картинка" title=" Картинка " width="100" height="100">

tep_image_button

Выводит графическую кнопку.

Файл с исходным кодом данной функции: /includes/functions/html_output.php

Параметры функции tep_image_button:

  • $image

    Название графического файла-кнопки.

  • $alt

    Значение атрибута alt.

  • $parameters

    Дополнительные параметры.

Пример использования данной функции:

echo tep_image_button('button_continue.gif', 'Продолжить');

Результат работы данного примера:

<img src="includes/languages/russian/images/buttons/button_continue.gif" border="0" alt="Продолжить" title=" Продолжить ">