Добавление меню статей в opencart 1.5.3

Обычно в шаблонах в шапке выводится список категорий, а в подвале список статей. Мне же понадобилось, чтобы в шапке были выведены именно статьи, а не категории. Пришлось сделать несколько правок в 2 файлах, а именно:

файл /catalog/controller/common/header.php добавил строки

$this->load->model('catalog/information');

		$this->data['informations'] = array();

		foreach ($this->model_catalog_information->getInformations() as $result) {
      		$this->data['informations'][] = array(
        		'title' => $result['title'],
	    		'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
      		);
    	}

это сделал перед кодом:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
		} else {
			$this->template = 'default/template/common/header.tpl';
		}

    	$this->render();


Далее >>>

В категориях: Opencart | Тэги , | 6 комментариев

Миграция с virtuemart на aceshop

Наверное каждый владелец Aceshop столкнулся однажды с неприятностью — встроенный инструмент для импорта товаров и категорий с виртуемарт просто не работает с русскими магазина. А проблема оказалось просто в том, что инструмент заточен под английскую версию вирта. Изменений там немного, просто префикс языка в таблицах БД в нескольких местах, а результат — полная неработоспособность. Я переделал этот файлик под русских пользователей.

Путь —  /components/com_aceshop/opencart/admin/model/tool/virtuemart.php

Скачать aceshop virtuemart import tool русский

В категориях: Aceshop | Комментировать

Последние поступления или как вывести последние товары в virtuemart

Как мне дорог этот виртуемарт)) Такое ощущение, что косяков с каждой новой версией становится только больше! Я уже отказался от создания магазинов на вирте в пользу Aceshop (связка joomla и opencart), но у меня еще бывают заказы по магазинам на virtuemart и вот очередная проблема:

стоит галочка
, но товары не показываются! Только виден заголовок Последние поступления

Что же делать, как быть? Все просто 🙂 Лезем в файл administrator\components\com_virtuemart\models\product.php , ищем строки

case 'latest':
					$date = JFactory::getDate( time()-(60*60*24*7) ); //Set on a week, maybe make that configurable
					$dateSql = $date->toMySQL();
					$where[] = 'p.`modified_on` > "'.$dateSql.'" ';
					$orderBy = 'ORDER BY p.`modified_on`';
					$this->filter_order_Dir = 'DESC';
					break;

комментируем 3 строчки и получаем такой код
Далее >>>

В категориях: Virtuemart | 3 комментария

Virtuemart pricechanger — компонент для массового изменения цен в магазине virtuemart

Virtuemart pricechanger — небольшой компонент для массового изменения цен в магазине virtuemart. Написан мной по заказу для магазина по продаже ванн. Тестировался на joomla 1.5 и virtuemart 1.1.6-1.1.9. Работает очень просто — выбираете производителя, категорию товаров (или несколько категорий), в которых нужно изменить цену, вписываете цифру — на сколько процентов увеличить или уменьшить, нажимаете кнопку и получаете результат.
Далее >>>

В категориях: Virtuemart, Мои работы | 9 комментариев

Проверка на администраторский доступ в joomla

При написании своего компонента понадобилось на самом сайте определять является ли человеком администратором. Для администратора выводится дополнительная информация. Функция для определения админа выглядит так:

public function userIsAdmin(){
        $isadmin = false;
        $user           =&JFactory::getUser();
        $db = JFactory::getDbo();
        $userid         = intval($user->get( 'id' ));
        if($userid > 0){
            $query = $db->getQuery(true);
            $query->select('g.title AS group_name')
            ->from('#__usergroups AS g')
            ->leftJoin('#__user_usergroup_map AS map ON map.group_id = g.id')
            ->where('map.user_id = '.(int) $userid);
            $db->setQuery($query);
            $ugp = $db->loadObject();
            $usertype =  $ugp->group_name;
            if(is_string($usertype)) $usertype = array($usertype);
            if(in_array('Super Users', $usertype)){
                $isadmin = true;
            }
        }
        return $isadmin;
    }
В категориях: Joomla | Тэги , | Комментировать