Перейти к содержанию

Рекомендуемые сообщения

Привет!
Пишу в лоб импорт товаров через кастомный скрипт, который просто лежит в корне. Хочу у модели продукта дернуть метод addProduct и скормить в него массив значений.
Скрипт мой лежит тупо в корне, никак не получается достучаться до модели. Гуглил, ответы со стаковерфлоу не работают :)
Ругается, что пытаюсь вызвать функцию на NULL
Вот код

require_once('config.php');
require_once('system/startup.php');

$registry = new Registry();
$event = new Event($registry);
$registry->set('event', $event);
$loader = new Loader($registry);
$registry->set('load', $loader);
$pmodel = $loader->model('catalog/product');
echo var_dump($pmodel->getProduct(55));

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
$application_config = 'catalog';

require_once('config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_SYSTEM . 'framework.php');

$loader->model('catalog/product');

$product = $registry->get('model_catalog_product')->getProduct(55);

var_dump($product);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 minutes ago, MikeTheRaven said:

$application_config = 'catalog';

require_once('config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_SYSTEM . 'framework.php');

$loader->model('catalog/product');

$product = $registry->get('model_catalog_product')->getProduct(55);

var_dump($product);

 

 

Это вместо всего моего кода? Меня тогда перекидывает на главную страницу магазина 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скопируйте файл /system/framework.php, отключите в нём вывод контента

// Output
$response->setCompression($config->get('config_compression'));
$response->output();

и используйте этот файл, вместо стандартного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 hour ago, MikeTheRaven said:

Скопируйте файл /system/framework.php, отключите в нём вывод контента


// Output
$response->setCompression($config->get('config_compression'));
$response->output();

и используйте этот файл, вместо стандартного.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Techno1og
      Нашел в сети скрипт внутренней перелинковки написанный на php. Интересно стоит и его использовать, интересно ваше мнение: (код в конце под спойлером)
       
      Описание: .........это простой php код, подключаемый на сайт посредством php include. Как утверждает автор -скрипт работает НЕ с базой данных, а с простыми файлами.
      На входе программа получает 2 файла (которые необходимо создать и заполнить):
      Список ключевых слов и релевантных им страниц Околоссылочный текст для внутренней перелинковки  
      Схема работы:
      интегрируем в шаблон сайта, в любое удобное место php include с вызовом скрипта В примере указано — include («perelinkovka.php»); — что подразумевает,  что скрипт находится в корне сайта, если же вы установите его в другое место, то необходимо прописать полный адрес:<?php
      include («perelinkovka.php»);
      ?> Как только открывается страница, инициирующая его вызов — он отправляется в файл, содержащий список ключевых слов и релевантных страниц и выбирает случайное значение. Далее это значение сопоставляется с URL текущей страницы и если они совпадают — происходит новая выборка до тех пор, пока не будет получена ссылка, отличная от адреса текущей страницы. Далее он идет в следующий файл, содержащий околоссылочный текст и делает случайную выборку по нему. На выходе мы получаем ссылку, окруженную околоссылочным текстом (каждый раз новым), что отлично вписывается в концепцию правильной внутренней перелинковки Далее, записывается состояние страницы в отдельный файл, из которого оно будет браться при каждом новом открытии одной и той же страницы. Тоесть ссылка перелинковки, появившееся на странице однажды уже останется там и будет выдаваться при каждом новом открытии. Для правильной работы модуля перелинковки, необходимо создать 2 файла (один, содержащий околоссылочный текст и один, содержащие ключевые слова и релевантные страницы). Файл с окружением создаем вручную, синтаксис следующий...." - текст до! текст после "
       

       
      Далее, необходимо создать файл, содержащий ключевые слова и релевантные стрраницы,  разделитель — «!». Здесь все предельно просто — открываем файл, который мы получили в конце прошлого этапа и удаляем лишние поля (частотность и позиция). Оставшиеся данные копируем и вставляем в блокнот:
       

       
       
      Производим замену табуляций на разделитель, для этого, копируем табуляцию и  выбираем Правка -> Заменить. В поле «Что» вставляем скопированную  табуляцию, а в поле «Чем» вставляем «!» — нажимаем Заменить все. Называем данный файл links.txt
      Далее, необходимо создать пустой файл visited.txt, куда программа перелинковки будет записывать состояния страниц (связь уже построенных перелинковок с URL-адресами вашего сайтта), в принципе, можно данный файл и не создавать — он будет создан автоматически при первом запуске скрипта, но если в директории, куда закачан скрипт не стоят права на запись — возникнет конфликт. Далее, файлу links необходимо дать права на запись. Если вы используете FileZilla, то нажимаем на файл правой кнопкой и в открывшемся меню выбираем пункт -> Права доступа к файлу:
      Итак, далее нам необходимо закачать на сервер следующие файлы:
      сам скрипт (perelinkovka.php) файл с околоссылочным текстом (texts.txt) файл с ключевыми словами (links.txt) файл состояния страниц (visited.txt)  
       
       
       
    • От vlad007
      Суть: Написать скрипт js для фильтра, без конфликтов с прочим функционалом
      Фильтр выводится в категориях в topблоке. Нужно чтоб с этого блока съезжал, приклеивался к меню (оно тоже плавающее, как вариант можно скрипт меню допилить если это возможно)
      Фильтр OCFilter
      ocStore Версия 1.5.5.1.2
      Тема http://univer15512.mattimeo.ru/ 
      Задача:
      Фильтр установлен, работает, его необходимо сделать плавающим при прокрутке (на всех устройствах)
      PS- position: sticky; - не прокатит, нагромождение
      Адрес сайта исполнителю в личку.
      Ваши предложения
    • От MaxD
      1 300.00 руб
      Скачать/Купить дополнение


      MX Shipping Master
      Внимание! Я забросил этот модуль и больше его не поддерживаю. Покупайте на свой страх и риск.
      С помощью этого модуля можно решить практически любые задачи, связанные с доставкой. Особенно если их специфика не позволяет использовать готовое решение. Он позволяет
      создавать новые методы доставки и изменять старые
      задавать формулу стоимости доставки
      описывать сложную логику или использовать внешние данные с помощью скрипта PHP
      добавлять логотип и ориентировочное время доставки к методу
      показывать стоимость доставки на странице товара


      Пример страницы товара:

      Демо админки:

      Полностью русифицирован, поддерживает мультиязычные магазины.
      Работает с ocStore, OpenCart 1.5+, OpenCart 2.0+
      Примеры скриптов:
      Добавил MaxD Добавлено 31.01.2015 Категория Доставки Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От sv2109
      999.00 руб
      Скачать/Купить дополнение


      Поисковая система с морфологией и релевантностью PRO
      Больше 10 тысяч загрузок модулей от sv2109!
      Модуль написал на основе модуля "Поиск с морфологией и релевантностью", который приобрели почти 700 пользователей!
      Что делает этот модуль?
      Это модуль поиска, основной особенностью которого является очень большая скорость поиска.
      Модуль в первую очередь создан для больших магазинов с тысячами товаров, а также для магазинов, которые работают на слабых хостингах.
      Модуль тестировался на магазине с 35 тысячами товаров.
      Модуль использует морфологию и релевантность для более точного поиска.
      Чем этот модуль отличается от других модулей поиска?
      К обычным поисковым модулям относятся: стандартный поиск OpenCart, другие модули поиска, например модуль "Поиск с морфологией и релевантностью".
      Как они работают? После того, как пользователь ввел фразу для поиска и нажал кнопку "Искать", модуль поиска для того, чтобы найти все товары, которые соответствуют поисковой фразе, должен обойти все товары в базе данных, причем информация о каждом товаре находится не в одной, а в нескольких таблицах с множеством полей, многие из которых никак не проиндексированы.
      Если у вас немного товаров на сайте (десятки, сотни) и быстрый сервер, то поиск у вас будет работать достаточно быстро.
      Но если у вас тысячи товаров в магазине (или даже десятки и сотни тысяч) или не самый быстрый сервер, то чем больше у вас будет товаров, тем медленнее будет работать поиск на вашем сайте. В некоторых случаях и 5 и 10 и даже больше секунд, что конечно же очень много, все, что больше 1-2 секунды это уже много, пользователи не будут столько времени ждать, они закроют ваш сайт и пойдут на другой.
      Как работает этот модуль?
      Этот модуль работает по тому же принципу, что и поисковые системы, поэтому он так и называется.
      Возьмем для примера поисковую систему Google. После того, как вы вводите в поле поиска, например, "OpenCart" и нажимаете кнопку "Поиск", Google отображает вам нужные результаты за доли секунды. Это возможно потому, что Google не ищет информацию непосредственно на каждом сайте в момент поиска, он уже до этого обошел все сайты и добавил эту информацию в свои очень быстрые базы данных, где все записи проиндексированы и лежат в базе с нужными весами (какой сайт показывать выше в выдаче, какой ниже). После этого Google осуществляет поиск по своих базах, это дает возможность найти сотни тысяч сайтов за доли секунды!
      Именно так работает и этот модуль. Сначала он обходит все товары в магазине и добавляет всю информацию в свои таблицы базы данных с индексами.
      Когда пользователь что-то ищет на сайте, поиск не обходит десятки полей в тысячах товаров, а ищет всего в одной таблице по проиндексированному одному полю, поэтому результат пользователь получит не через несколько секунд или даже десятков секунд, а через доли секунды, что в десятки и даже сотни раз быстрее стандартного поиска.
      Морфология и релевантность
      Как известно, стандартный поиск OpenCart просто ужасный. При поиске он разбивает искомую фразу на отдельные слова, после чего находит все товары, в которых встречается любое из этих слов. В результате при поиске по фразе "Монитор Samsung" на первых позициях может оказаться "монитор Acer" (так как в названии есть слово "монитор") или "ноутбук Samsung" так как в названии есть слово "Samsung". В то время, как нужный товар "Монитор Samsung" может быть где-то на 10-той странице. А если вы напишите в поиске не "ноутбук", а напр. "ноутбуки" или сделаете опечатку в слове "Samsung" то поиск вообще ничего не найдет, так как поиск осуществляется только по точному вхождению слова.
      Этот модуль написан для того, чтобы исправить все недостатки стандартного поиска.
      Для этого у него есть 2 инструмента:
      Морфология. Поиск не по точному совпадению, а по корням слов. Теперь написав в поиске "ноутбуки", поиск выдаст все товары в которых встречается и "ноутбуки" и "ноутбук" и "ноутбука" итд. Поддерживаемые словари - русский, украинский, английский. Релевантность. При поиске на первых позициях будут материалы с большим суммарным весом. Наибольший вес имеет точное вхождение фразы в начало названия товара, потом вхождение одного или нескольких слов в название (чем больше слов тем больший вес), потом вхождение слова в тег, потом целой фразы в описание, потом отдельного слова в описание. Чем больше совпадений, тем больше вес и тем выше будет этот товар в результатах поиска. Вес каждого совпадения можно корректировать в админке. Кому нужен этот модуль?
      сайтам, в которых несколько тысяч товаров, для увеличения качества и скорости поиска. всем, кто хочет иметь очень быстрый поиск на своем сайте. Просто зайдите на страницу поиска вашего сайта, введите фразу для поиска (из 3-5 слов, можно и больше) и нажмите "Искать". Если результат поиска вы получите более чем через 1-2 секунды, то вам скорее всего нужен этот модуль.
      Кому не нужен этот модуль?
      Тем, у кого на сайте не очень много товаров, быстрый сервер и поиск у вас отдает результат меньше, чем за 1 секунду. В этом случае, посмотрите на модуль "Поиск с морфологией и релевантностью", он поможем вам значительно увеличить качество поиска, хотя и не сделает поиск очень быстрым (но у вас со скоростью поиска и так все нормально).
      Возможности
      модуль написан на основе модуля "Поиск с морфологией и релевантностью", поэтому содержит весь огромный функционал того модуля использование морфологии и релевантности для более точного поиска выбор логики поиска для поиска по фразам из нескольких слов: И, ИЛИ поддержка мульти-магазина возможность отключить в поиске дату поступления товаров разные типы поиска (по точному совпадению или по началу слова) режим исправления раскладки клавиатуры ("фззду" -> "apple") учитывать наличие на складе (товары, которых нет в наличии будут отображаться в конце поиска) возможность включить кеширование результатов возможность добавлять новые поля для поиска, например можно добавить поиска по id товара, мета H1 и почти по любому полю товара. для каждого поля можно: включить морфологию, указать минимальную длину слова, указать вес вхождения слова в начало или середину поля возможность исключить некоторые слова из поиска возможность заменить слова при поиске (например слова с ошибками: "aple" -> "apple") поддержка нескольких режимов индексации: индексация по крону, автоматическая индексация после каждого добавления, изменения, удаления товара, ручная индексации на странице настроек модуля с поддержкой пакетного создание индексов (можно запустить процесс и оставить страницу открытой на продолжительное время) Модуль совместим с модулями:
      Search suggestion - поиск с автодополнением История Поиска Похожие товары с морфологией и релевантностью Совместимость:
      OpenCart/ocStore 2.0.x, 2.1.x, 1.5
      OpenCart 3.0 - по запросу.
       
      Модуль использует IonCube, обычно на 99% хостингов он используется но на всякий случай можете проверить.
      Одна лицензия модуля позволяет установить этот модуль на 1 домене.
      Демо:
      Сайт
      Админка
      Для связи с автором модуля пишите на sv2109@gmail.com
      © Стасюк Владимир (sv2109.com), 2016
      Добавил sv2109 Добавлено 24.07.2016 Категория Поиск Системные требования Сайт разработчика sv2109.com Старая цена Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От Granled
      Здравствуйте составил вот такой запрос к базе данных (необходимо иметь возможность быстро редактировать сумму заказа из формы заказа):
      $tsum = $this->db->query("SELECT total FROM oc_order WHERE order_id=414");
      Как подставить в него id мне более менее понятно, сама база с запроса возвращает правильные данные.
      Вопрос - правильно ли я сделал запрос, так как шаблон переменную не возвращает. Пишет Undefined variable , как ее сделать правильно?
      И вообще можно ли лезть в базу данных с контроллера, или только в модели?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.