Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

SooR

Користувачі
  • Публікації

    1 508
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем SooR

  1. pashast, я лишь говорю то, что слышал.

    Илья

    отправлено: 13.01.2013 10:14

    Есть хорошая новость, наши программисты уже работают над файл менеджером. Скоро в панели управления появится красивая и быстрая программа, которая написана нами, а не сторонними разработчиками.

  2. да ещё бы )) почти все дополнения разом перестали работать )))

    Ну чего) был бы повод лишний раз обновить версии, а это шаг вперёд) Я тоже думаю, почему всё подключается как $this->load->[file], а язык $this->[lang]->load. Понятно, потому что библиотека вне loader.php, но он все-равно к этому придёт, рано или поздно. Просто мог бы уведомить за месяц мол приготовьтесь к радикальным изменениям.

    • +1 1
  3. Ну не знаю, у нас в Одессе есть ШАГ и Сервер по таким учениям, так вот ШАГ очень хвалят, может и относительно, может и нет, но в последнее время его качество обучения возросло.

    Может имеет смысл не поступать туда в качестве студента (корочку на полке держать?), а лучше записаться на интересующие курсы при них же?

  4. Приветствую вас.

    Часто занимаясь разработкой под OpenCart (и не только) каждый разработчик пользуется большим количеством частоиспользуемого (повторного) кода, который многие просто копируют из открытых файлов проекта, или (если не поздняя ночь) пишут заново.

    Этот шаблонный код обычно короткий и является лишь "фразами общения" с ядром движка, его API. Поэтому, дабы сократить времязатраты на разработку, я ввёл новые фрагменты в сниппеты (snippets) своего IDE для работы с OpenCart.

    Я пользуюсь бесплатным текстовым редактором PSPad уже более 3х лет, сниппеты у него поддерживаются с достаточной гибкостью для того, чтобы писать именуемые динамические сниппеты с заданием переменных через контекстное меню. Надо сказать, что в бОльшей мере именно это меня и удерживает от замены редактора. Потому что, например, у CodeLobster сниппеты реализованы на XML, это очень удобно и изящно, но содавать большие фрагменты с пользовательскими переменными в любом месте кода - я не смог, так как пользовательская переменная не ограничена символами начала и конца переменной, что лишает её возможности писать слитно с другим текстом (например public function get@s());

    Итак, вернёмся к сниппетам для OpenCart.

    Приведу пример нескольких фрагментов упрощающих жизнь:

    [post | Insert POST variable]
    $this->request->post['|']
    ;
    

    Как видно из фрагмента, комбинация слова post и (в моем случае) сочетания клавиш Shift+Space выведут код $this->request->post['место_для_курсора'] на том месте, где её применили.

    Ещё пример:

    [select | Create MySQL select query]
    $this->db->query("SELECT * FROM " . DB_PREFIX . "|");
    ;
    

    Комбинация bread Shift+Space вставит запрос выборки к базе данных;

    [bread | Create breadcrumbs item]
    $this->data['breadcrumbs'][] = array(
    'text'	  => 'Page|',
    'href'	  => $this->url->link(''),
    'separator' => $this->language->get('text_separator')
    );
    ;
    

    Элемент хлебных крошек;

    [text | Insert text = translate]
    $this->data['text_|'] = $this->language->get('text_');
    ;
    

    Этот кусок наверняка многих раздражает, но с ним валидней ;)

    [model | Create model]
    <?php
    class Model|%model% extends Model {
    public function add%model%($data) {
    	$this->db->query("INSERT INTO " . DB_PREFIX . "%database_table% SET ");
    
    	$%database_table%_id = $this->db->getLastId();
    
      	 return $%database_table%_id;
    }
    
    public function edit%model%($%database_table%_id, $data) {
    	$this->db->query("UPDATE " . DB_PREFIX . "%database_table% SET  WHERE %database_table%_id = '" . (int)$%database_table%_id . "'");
    }
    
    public function delete%model%($%database_table%_id) {
    	$this->db->query("DELETE FROM " . DB_PREFIX . "%database_table% WHERE %database_table%_id = '" . (int)$%database_table%_id . "'");
    }
    
    public function get%model%($%database_table%_id) {
    	$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "%database_table% WHERE %database_table%_id = '" . (int)$%database_table%_id . "'");
    
    	return $query->row;
    }
    
    public function get%model%s() {
    	$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "%database_table%");
    
    	return $query->rows;
    }
    
    public function getTotal%model%s() {
    	$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "%database_table%");
    
        return $query->row['total'];
    }
    }
    ?>
    ;
    

    Ну и с использовнием переменных. Тяжело назвать сниппетом, но почему бы и нет? Этакий мини-конструктор.

    По применению сниппета можно вписать название модели (%model%), которое автоматом присвоится к названиям методов, а так же имя таблицы (%database_table%), которая послужит данными для создания шаблонной модели.

    Кстати, переменные объявляются в начале файла сниппетов:

    ; -----------------------------------------------------------------------------
    ; OpenCart
    ; -----------------------------------------------------------------------------
    %model%=@E Название модели,
    %database_table%=@E Таблица БД,
    %controller%=@E Название (напр. CommonHome),
    %route%=@E Route (напр. common/home),
    

    .. и так далее.

    В принципе, список можно продолжать долго, но суть я указал, направление тоже, вам остается двигаться :)

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

    Прикрепил файл PHP.DEF (для PSPad) где собрал пока все придуманные сниппеты.

    PHP_DEF.zip

    • +1 4
  5. На счёт фильтра в 1.5.5: Работает он как обычные теги, без какой-либо логики. Есть значение - вывести всё по нему, если нет - пустая страница. Автокомлиты не понравились, если уж он привязывает фильтры к категориям - почему не сделать селектом. Конечно, легче сделать всё в одном по автокомплиту, не парясь со связми категорий и т.д. В общем быстрое наполнение не получится. Но а вообще, прогресс уже радует, думаю фильтр будет дописываться с каждой / каждой 2-й версией.

    • +1 2
  6. Добавление к public function getProducts($data = array()) {

    Не оптимизировал, т.к. используется в магазине с малым кол-вом товаров. Но при желании можно улучшить.

    (SELECT sort_order FROM " . DB_PREFIX . "category WHERE category_id =
      (SELECT c.parent_id FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "product_to_category p2cc ON (c.category_id = p2cc.category_id) WHERE p2cc.product_id = p.product_id AND c.parent_id != '0' ORDER BY c.sort_order DESC)
    ) AS category
    

    и сортировка

    $sql .= " ORDER BY category, p.sort_order";

  7. А что с версией скрипта под OpenCart 1.5.3.1?

    Установка на чистый магазин напрочь вырубила админку - никакие кнопки не нажимаются, ничего не работает, зайти в неё невозможно. После ручного выгрызания и замены файлов на оригиналы админка ожила.

    Подозреваю, что что-то не так с файлами header.php, но это скорее пальцем в небо.

    Что скажете?

    Без понятия о чем вы.

    Я под эту версию не выкладывал. Откуда качали? Может там и ответят...

  8. "Живая" админка будет 5 августа, о всех нюансах адаптации надо говорить, но в модуле будет предусмотрена функция импорта/экспорта, а так же перенос стандартных атрибутов.

    • +1 2
  9. А реализована ли возможность ручного указания порядка вывода параметров сортировки, как это было реализовано здесь ?

    Да. Смотрите на страницу редактирования опции ниже. Значения просто переносим мышкой.

    post-3043-0-98967500-1343743797_thumb.png

  10. ех поторопился я с покупкой другого модуля фильтра :( но все равно возьму у Сора :)

    вопрос. будет ли версия в vqmod? и можно ли будет отдельно заказать доработку вывода характеристик как на демо у товара. то есть например жесткий диск и тд.

    Фильтров много не бывает :-D

    vqmod не переношу. Будет удобная интерактивная инструкция по установке на не чистый OpenCart.

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

    • +1 1
  11. Такой момент - если выбрать ценовой диапазон, то активной областью (для нажатия) будет только то, что внутри диапазона (выделено красной рамкой).

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

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

  12. RGB, спасибо за отзыв. На счёт первого абзаца, так и сделаю, но в момент релиза.

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

    • +1 1
  13. Можешь продолжать) зачем закрывать...

    Какие контакты давать - дело личное.

    Оплату на перёд ты давал 1 раз. Не надо выдумывать.

    Цены - никогда не превышали обычные. Если ты считаешь, что я брал чрезмерно много - скажи здесь за что и сколько.

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

    • +1 1
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.