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

halfhope

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

    1 750
  • З нами

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

Усі публікації користувача halfhope

  1. Обращайтесь если что, произвожу очистку сайтов/серверов с гарантией. Если будете очищать сами, то рекомендую айболит, скрипт-огонь, но самописные все-таки лучше.
  2. Технических обоснований для того чтобы держать их отдельно - нет. Но есть правила безопасности. Один пользователь - один сайт. Сайты на базе Joomla или WordPress ломают намного чаще чем OpenCart. Если взломают сайт на WordPress и у того же пользователя в папке лежит OpenCart, то его можно тоже заразить. Причем если вы делаете раздельные FTP аккаунты для разных сайтов с доступом только к определенной папке это еще не означает, что сайты не будут видны друг через друга. Видите ли PHP не понимает и никогда не поймет, ограничений доступа которые у вас стоят на FTP сервере, а ведь именно PHP используется для в файловых менеджерах при взломе, не говоря уже об автоматизированных системах. Т.е. при взломе остальные сайты все равно могут быть видны. Так что если сайтов несколько, то желательно купить себе VPS/VDS сервер, чтобы создать отдельного пользователя для каждого сайта. В таком случае, при заражении одного сайта он никак не повлияет на состояние другого. Если есть проблемы с очисткой от вирусов, то буду рад помочь.
  3. Я же вам говорил: Модуль custom_template подменил код вывода шаблонов в поддерживаемых модулем разделах, на свой, если добавить туда такой же код от custom_template2, то работать разумеется ничего не будет. Нужно изменить vqmod/ocmod код, чтобы работал только один, но поддерживал cusom_template и custom_template2. Для этого в vqmod/ocmod модификации нужно изменить: $custom_template_module = $this->model_setting_setting->getSetting('custom_template_module'); на: $custom_template_module = $this->model_setting_setting->getSetting('custom_template_module'); $custom_template_module2 = $this->model_setting_setting->getSetting('custom_template2_module'); array_push($custom_template_module, array_values($custom_template2_module)); Не уверен, что приведенный мною код будет работать, нет возможности протестировать.
  4. Так и есть, только max_input_vars нужно переплюнуть) Версию напишите, я сделаю дубликат.
  5. Ой, не подумай. У меня даже мысли такой не было, я на своей волне) Найдешь, люлей дашь еще, рядом же живем :ugeek: Социальных инстинктов почти нет, не воспитал я их, контекст вижу совсем другой, технический, тоже раскрывал тему. У меня вообще много таких моментов в жизни бывает. Делаю то, что считаю нужным, без задних мыслей, а люди видят совсем другое и наоборот( Еще в прошлый раз смотрел отличия в БД, там действительно мало чем отличается, но если подключать новый сайт к старой бд, то без правок не обойтись, в приложении на всякий случай дампы БД (только структура) от ocStore 1.5.5.1.2 и 2.1.0.2.1. dump.zip
  6. Я никому не забиваю голову требухой, разница как раз в "но похожи)))" и прочей фигне типа company_id, поэтому и говорю, что они несовместимы. Были бы совместимы, вопрос о переносе бы не стоял. Да и не приветствую работу двух магазинов от одной бд, один из которых продакшн, а второй активно разрабатываемый, к тому же другой версии. Т.е. чтобы это сделать придется править либо БД, либо файлы, чтобы сделать данного гибрида, что не есть хорошо. По мне так, правильным решением будет написать скрипт переноса данных и воспользоваться им придется всего 2 раза, один раз перед разработкой, чтобы были оригинальные данные, второй - перед заменой основного на новый, для их актуализации.
  7. Оффтоп: БД 1.5.x и 2.x несовместимы, но при должном уровне знаний можно перенести абсолютно все. Я умею, взялся бы, но не хочу.
  8. Лучше сначала попробуйте решить вопрос с max_input_vars, а то зря время потеряете. Вот тут я достаточно подробно описал как его решить.
  9. А зачем дубль, если не секрет, может быть проще все получится решить? При публикации кода пользуйтесь соответствующей кнопкой "<>". Проблема в том, что оба модуля (оригинал и дубль) получают данные с одного источника (custom_template). Чтобы сделать дубликат модуля рекомендую удалить старый дубликат, создать новый, например, custom_template2. Далее во всех файлах дублированного модуля заменить custom_template на custom_template2 аналогично поступить с названиями файлов и названием контролера. Но вам все равно придется столкнуться с проблемой несовместимости vqmod/ocmod модификации оригинала и дубликата модуля. В этом случае рекомендую поправить модификацию, чтобы она работала с настройками из сразу двух модулей. Для этого нужно будет как-то объединить массивы с данными модуля custom_template_module и custom_template2_module в vqmod/ocmod файле, а именно: $custom_template_module = $this->model_setting_setting->getSetting('custom_template_module');
  10. Добрый вечер. Первая ошибка связана с самим OpenCart, для того чтобы устанавливать модификации нужно ввести данные для соединения на странице настроек сайта. Либо используйте другой установщик модификаций, который работает без FTP. Вторая ошибка, при посещении страницы модуля связана с неправильным условием, которое я написал. Для решения обновите модуль, я исправил ошибку, либо в файле admin\controller\shipping\advanced_shipping.php замените: if (version_compare('2.0.3.1', VERSION) <= 0) { на if (version_compare('2.0.3.1', VERSION) < 0) {
  11. //$buklet[]=array( $data['buklet'] = array( Переменные из контроллера в шаблон передаются через массив $data, а в 1.5.x через $this->data
  12. Поочередно отключайте модификаторы, обновляйте кэш, заходите на страницу, проверяйте работоспособность. Когда вычислите какой модификатор не работает, обращайтесь к автору модификатора.
  13. 1. Можно поправить getProduct, но только если собираетесь выводить эти данные в категориях и других страницах сайта. т.к. getProduct используется везде, лучше ее не перегружать лишними запросами. Так что желательно создать отдельную функцию. 2. $this->model_catalog_product->getProduct($product_id); 3. Вывод
  14. Код не проверял, но должен работать. Готовая функция для получения списка категорий у производителя с кэшированием: public function getManufacturerCategories($manufacturer_id) { $cache_name = 'manufacturer.categories'; $cached = $this->cache->get($cache_name); if ($cached && isset($cached[$manufacturer_id])) { return $cached[$manufacturer_id]; } else { $query = $this->db->query(" SELECT DISTINCT c.category_id, cd.name FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "product p ON (m.manufacturer_id = p.manufacturer_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "category c ON (c.category_id = p2c.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd ON (cd.category_id = p2c.category_id) WHERE p.status = 1 AND m.manufacturer_id = '" . (int) $manufacturer_id . "' AND c.status= 1 "); $cached[$manufacturer_id] = $query->rows; $this->cache->set($cache_name, $cached); return $query->rows; } } Без public function getManufacturerCategories($manufacturer_id) { $query = $this->db->query(" SELECT DISTINCT c.category_id,cd.name FROM " . DB_PREFIX . "manufacturer m LEFT JOIN " . DB_PREFIX . "product p ON (m.manufacturer_id = p.manufacturer_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p2c.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "category c ON (c.category_id = p2c.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd ON (cd.category_id = p2c.category_id) WHERE p.status = 1 AND m.manufacturer_id = '" . (int) $manufacturer_id . "' AND c.status= 1 "); return $query->rows; }
  15. https://xakep.ru/wp-login.php?action=register
  16. Я этот код с пикабу забрал, что-то вроде "хабраэффекта" тоже присутствует)
  17. ZN20-16JB-FCDC-7499-2600 И да, я в курсе, что inapp ломается, что можно и так бесплатно читать журналы.
  18. Ну, перекрестные запросы и все такое. Это достаточно ресурсоемкие запросы должны получиться, так что без кэширования не обойтись.
×
×
  • Створити...

Important Information

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