В компоненте Hikashop есть переменные, от которых зависит работоспособность и визуализация основных модулей и  форм. Рассмотрим их поближе. Для различных версий Joomla  они принимают разные значения.

Например, "непонятная" переменная $level, которая в различных версиях Hikashop примает значение 0, 1 и 2 и от которой зависит появление определенных <div> и поведение компонента.

При инициализации компонента Hikashop переменная LEVEL принимает значение 'Bussiness' -> затем отдается допонительная команда ucfirst (преобразует первый символ строки в верхний регистр) , далее создается переменная $allPref, отвечающая за конфигурацию компонента, которой в принудительном порядке по принципу $allPref['ключ'] => 'значение' присваивают все отстальные необходимые данные для конфигурации.

При этом переменная $allPref['level'] получает напрямую значение  'Bussiness', а  $allPref['Bussiness'] => 2.

В зависимости от версии Joomla, которая может определяется в Hikashop  с учетом версии, как например, version_compare(JVERSION, '3.0', '>=') переменная $allPref обрастает новыми значениями (а данные берутся из переменной $jconf):

например:   $allPref['from_name']  = $jconf->get('fromname')

Есть и исключения, так основная переменная $allPref['default_params'] представляет уже готовый "строковый" массив данных с заполненными значениями.

При инициализации компонента Hikashop автоматически создаются 7 модулей (семь $elements[k]), которым присваиваются  различные параметры в зависимости от инициализированного модуля  (семь $params[k]->params)

ВСЕ ЭТИ ДАННЫЕ поступают в переменную !!! $config !!! с использованием функции hikashop_config( )  [при подключении файла "HELPER.PHP"]

Переменная $config - это  самая распространенная переменная для  нахождения значений заполненных пользователем полей конфигурации (в т.ч. установленных системой по умолчанию) в HIKASHOP. Именно, получение значений через конструкцию $config->get('найти значение поля в переменной') - самая простая операция в Hikashop.

Несомненный лидер использования в шаблонах Hikashop - это псевдо-переменная $this, которая является ссылкой на вызываемый объект (класс) . 

Простой пример (взят из шаблонов Hikashop) - вызвать класс внутри другого класса:

class CartViewCart extends HikaShopView {
$this->config = hikashop_config();      или по-другому  $CartViewCart->config = hikashop_config(); 
$this->currencyClass = hikashop_get('class.currency'); или по-другому  $CartViewCart->currencyClass = hikashop_get('class.currency')
}

Пример посложнее (с использованием внутри объекта(класса) функции-конструктора __construct($config = array( ))   ) - использовать базу данных db по объекту и по покупателю user  внутри класса + использовать данные REQUEST по отправленным формам app :

class hikashopCartClass extends hikashopClass {
	
	protected $db = null;
	protected $app = null;
	protected $config = null;
	protected $user = null;
	public function  __construct($config = array()) {
		$ret = parent::__construct($config);

		$this->db = JFactory::getDBO();
		$this->app = JFactory::getApplication();
		$this->config = hikashop_config();
		$this->user = hikashop_loadUser(true);

		return $ret;
	}
}

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

$new = new hikashopCartClass(); 
var_dump($new); //

 

Бесплатная доставка до транспортной компании ! ! ! - ВЫГОДНО

Спешите выписать счет на оплату! Товар в наличии !

Цены на товары в нашем интернет-магазине актуальные и постоянно пересматриваются.
Предусмотрены оплаты - по банковским картам Visa - Мир, наличный и безналичный расчеты с выпиской счет-фактуры с НДС