LiveStore Liveopencart 3.0.3.9
Re: ocStore Liveopencart 3.0.3.9
Наверное, стоит посмотреть, что там за форма, какой код и есть ли действительно отправка.
Re: ocStore Liveopencart 3.0.3.9
Ошибка при обновлении...
Стоит ocStore 3.0.3.9 + Простор. Ставил пару месяцев назад.

Стоит ocStore 3.0.3.9 + Простор. Ставил пару месяцев назад.

Re: ocStore Liveopencart 3.0.3.9
В какой в этой? Я ставил ocStore 3.0.3.9. За пару месяцев разработчики внесли какие-то правки (в этой ветки о них писали). В этой же ветки мне написали, как обновить движок. Причем новая версия, как это не парадоксально, также 3.0.3.9. Ок, ладно, разработчикам виднее. Обновляю так, как сказано в инструкции. Получаю ошибку. Сообщаю о ней так, как сказано в инструкции. Получаю ваш ответ! Что я сделал не так? Что значит "в этой версии и не должно быть данной таблицы", если установочный архив я качал отсюда же?!?!?!
- spectrum
- Разработчик дополнений
- Сообщения: 106
- Зарегистрирован: 10.03.2022
- Откуда: РФ
- Поблагодарил: 63 раз
- Спасибо: 46 раз
Re: ocStore Liveopencart 3.0.3.9
Только что попробовал у себя, всё прошло без ошибок. Ну да ладно.
В базе данных правок вроде-бы не было в обновлениях, поэтому скорее всего достаточно будет просто файлы движка обновить путем закачивания их поверх текущих.
В базе данных правок вроде-бы не было в обновлениях, поэтому скорее всего достаточно будет просто файлы движка обновить путем закачивания их поверх текущих.
- Tom
- Разработчик дополнений
- Сообщения: 231
- Зарегистрирован: 10.03.2022
- Откуда: Казахстан - Алматы
- Поблагодарил: 11 раз
- Спасибо: 100 раз
- Контактная информация:
Re: ocStore Liveopencart 3.0.3.9
Нет таблицы url_alias.brooks писал(а): ↑24 авг 2025, 18:28
В какой в этой? Я ставил ocStore 3.0.3.9. За пару месяцев разработчики внесли какие-то правки (в этой ветки о них писали). В этой же ветки мне написали, как обновить движок. Причем новая версия, как это не парадоксально, также 3.0.3.9. Ок, ладно, разработчикам виднее. Обновляю так, как сказано в инструкции. Получаю ошибку. Сообщаю о ней так, как сказано в инструкции. Получаю ваш ответ! Что я сделал не так? Что значит "в этой версии и не должно быть данной таблицы", если установочный архив я качал отсюда же?!?!?!
Ошибка эта с самых ранних версий опенкарт 3. Сборка на которую вы пытаетесь обновить, лишь продолжает использовать данный подход, а не приобрела её в результате каких то недавних изменений.
Если вкратце, то для опенкарт Обновление, это больше про версии, например с двойки на тройку. Чем обновление внутри одной и той же ветки как в случае с тройкой, например с 3.0.2 на 3.0.7 итд.
В двойке короткие ссылки хранятся в той самой таблице url_alias, в тройке же зачем то было решено перенести их в таблицу seo_url, а не добавить нужные поля (магазин, язык) в прежней таблице.
Вот и получается в момент запуска скрипта обновления, он доходит до взаимодействия с таблицей тех самых коротких ссылок и переносит эти данные в новую таблицу seo_url, считая что обновление происходит как раз с более старых версий. И не найдя таблицы url_alias , падает с ошибкой как на вашем скрине.
Конкретно в вашем случае придётся сделать два дополнительных телодвижения. В поле SQL базы данных вашего магазина, добавить и выполнить запрос
Код: Выделить всё
CREATE TABLE IF NOT EXISTS `oc_url_alias` (
`url_alias_id` int(11) NOT NULL AUTO_INCREMENT,
`query` varchar(255) NOT NULL,
`keyword` varchar(255) NOT NULL,
PRIMARY KEY (`url_alias_id`),
KEY `query` (`query`),
KEY `keyword` (`keyword`)
) ENGINE=InnoDB AUTO_INCREMENT=10962 DEFAULT CHARSET=utf8;
Ну а делать обновление на магазин с установленным шаблоном
вовсе безрассудство. Шаблон писался под конкретную версию. Все его модификаторы цепляются строго к тем строкам, что были в той или иной версии. Есть вероятность получения ошибки далее уже в шаблоне и всех установленных дополнениях/модификаторах.
Само обновление подобное не имеет совершенно никакого смысла.
И более правильно делается, путём развертывания полностью нового тестового магазина на нужной версии и создания с нуля на ней той самой обновленной версии.
В рамках данной сборки и версии ocStore Liveopencart 3.0.3.9 можно исправить эту старую ошибку.Не претендую на оригинальность, но можно просто добавить проверку на наличие полей в файле upload\install\model\upgrade\1010.php
Код: Выделить всё
<?php
class ModelUpgrade1010 extends Model {
public function upgrade() {
$config = new Config();
// Загружаем настройки по умолчанию (store_id = 0)
$setting_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "setting` WHERE store_id = '0'");
foreach ($setting_query->rows as $setting) {
$config->set($setting['key'], $setting['value']);
}
// Получаем language_id по коду языка из config
$query = $this->db->query("SELECT language_id FROM `" . DB_PREFIX . "language` WHERE `code` = '" . $this->db->escape($config->get('config_language')) . "'");
if (!$query->row) {
return; // Если язык не найден — выходим
}
$language_id = (int)$query->row["language_id"];
// Проверяем, существует ли таблица url_alias
$table_exists = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . "url_alias'");
if ($table_exists->num_rows == 0) {
// Таблица url_alias не существует — значит, мы уже в OC 3.x или обновляемся из более поздней версии
// Ничего делать не нужно
return;
}
// Если таблица есть — выполняем миграцию
$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "url_alias`");
if ($query->rows) {
foreach ($query->rows as $url) {
$this->db->query("
INSERT INTO `" . DB_PREFIX . "seo_url`
SET
`store_id` = '0',
`language_id` = '" . (int)$language_id . "',
`query` = '" . $this->db->escape($url['query']) . "',
`keyword` = '" . $this->db->escape($url['keyword']) . "'
");
}
}
}
}
Re: ocStore Liveopencart 3.0.3.9
Благодарю Вас за проверку. Сам был за городом, не имел возможности с нуля развернуть проект.
И вам спасибо за разъяснения. Доя человека, который просто установил ocStore и купил шаблон, все это, конечно, трудно постижимо...Tom писал(а): ↑25 авг 2025, 07:26Нет таблицы url_alias.brooks писал(а): ↑24 авг 2025, 18:28
В какой в этой? Я ставил ocStore 3.0.3.9. За пару месяцев разработчики внесли какие-то правки (в этой ветки о них писали). В этой же ветки мне написали, как обновить движок. Причем новая версия, как это не парадоксально, также 3.0.3.9. Ок, ладно, разработчикам виднее. Обновляю так, как сказано в инструкции. Получаю ошибку. Сообщаю о ней так, как сказано в инструкции. Получаю ваш ответ! Что я сделал не так? Что значит "в этой версии и не должно быть данной таблицы", если установочный архив я качал отсюда же?!?!?!
Ошибка эта с самых ранних версий опенкарт 3. Сборка на которую вы пытаетесь обновить, лишь продолжает использовать данный подход, а не приобрела её в результате каких то недавних изменений.
Если вкратце, то для опенкарт Обновление, это больше про версии, например с двойки на тройку. Чем обновление внутри одной и той же ветки как в случае с тройкой, например с 3.0.2 на 3.0.7 итд.
В двойке короткие ссылки хранятся в той самой таблице url_alias, в тройке же зачем было решено перенести их в таблицу seo_url, а не добавить нужные поля (магазин, язык) в прежней таблице.
Вот и получается в момент запуска скрипта обновления, он доходит до взаимодействия с таблицей тех самых коротких ссылок и переносит эти данные в новую таблицу seo_url, считая что обновление происходит как раз с более старых версий. И не найдя таблицы url_alias , падает с ошибкой как на вашем скрине.
Конкретно в вашем случае придётся сделать два дополнительных телодвижения. В поле SQL базы данных вашего магазина, добавить и выполнить запрос
после чего запустить обновление. По его окончанию, зайти в базу данных и удалить таблицу oc_url_alias (в моём примере префикс oc_, ваш может быть иным).Код: Выделить всё
CREATE TABLE IF NOT EXISTS `oc_url_alias` ( `url_alias_id` int(11) NOT NULL AUTO_INCREMENT, `query` varchar(255) NOT NULL, `keyword` varchar(255) NOT NULL, PRIMARY KEY (`url_alias_id`), KEY `query` (`query`), KEY `keyword` (`keyword`) ) ENGINE=InnoDB AUTO_INCREMENT=10962 DEFAULT CHARSET=utf8;
Ну а делать обновление на магазин с установленным шаблоном
вовсе безрассудство. Шаблон писался под конкретную версию. Все его модификаторы цепляются строго к тем строкам, что были в той или иной версии. Есть вероятность получения ошибки далее уже в шаблоне и всех установленных дополнениях/модификаторах.
Само обновление подобное не имеет совершенно никакого смысла.
И более правильно делается, путём развертывания полностью нового тестового магазина на нужной версии и создания с нуля на ней той самой обновленной версии.
В рамках данной сборки и версии ocStore Liveopencart 3.0.3.9 можно исправить эту старую ошибку.Не претендую на оригинальность, но можно просто добавить проверку на наличие полей в файле upload\install\model\upgrade\1010.php
Код: Выделить всё
<?php class ModelUpgrade1010 extends Model { public function upgrade() { $config = new Config(); // Загружаем настройки по умолчанию (store_id = 0) $setting_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "setting` WHERE store_id = '0'"); foreach ($setting_query->rows as $setting) { $config->set($setting['key'], $setting['value']); } // Получаем language_id по коду языка из config $query = $this->db->query("SELECT language_id FROM `" . DB_PREFIX . "language` WHERE `code` = '" . $this->db->escape($config->get('config_language')) . "'"); if (!$query->row) { return; // Если язык не найден — выходим } $language_id = (int)$query->row["language_id"]; // Проверяем, существует ли таблица url_alias $table_exists = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . "url_alias'"); if ($table_exists->num_rows == 0) { // Таблица url_alias не существует — значит, мы уже в OC 3.x или обновляемся из более поздней версии // Ничего делать не нужно return; } // Если таблица есть — выполняем миграцию $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "url_alias`"); if ($query->rows) { foreach ($query->rows as $url) { $this->db->query(" INSERT INTO `" . DB_PREFIX . "seo_url` SET `store_id` = '0', `language_id` = '" . (int)$language_id . "', `query` = '" . $this->db->escape($url['query']) . "', `keyword` = '" . $this->db->escape($url['keyword']) . "' "); } } } }
Пойду в платный раздел.
- spectrum
- Разработчик дополнений
- Сообщения: 106
- Зарегистрирован: 10.03.2022
- Откуда: РФ
- Поблагодарил: 63 раз
- Спасибо: 46 раз
Re: ocStore Liveopencart 3.0.3.9
Вообще это фиксилось уже ранее. Возможно не попало в финальный архив с движком.
- liveopencart
- liveopencart.ru
- Сообщения: 303
- Зарегистрирован: 10.03.2022
- Мои дополнения: 19th19th
- Поблагодарил: 84 раз
- Спасибо: 155 раз
- Контактная информация:
Re: ocStore Liveopencart 3.0.3.9
Проблему с отправкой почты решили. Правили контроллер catalog/controller/information/contact.php.Была проверка на чек бокс которого нету в форме. Что это? Может галочка соглашения на обработку персональных данных? Тогда она может подгружаться из шаблона Простор или от модуля Simple.
- devimirochnik
- Разработчик дополнений
- Сообщения: 206
- Зарегистрирован: 14.04.2022
- Откуда: Россия
- Мои дополнения: devimirochnik
- Поблагодарил: 7 раз
- Спасибо: 16 раз
Re: ocStore Liveopencart 3.0.3.9
Было бы круто добавить в модификаторы возможность не только редактировать модификаторы, но и добавлять без установки. Полезно, когда нужно добавлять свои модификаторы для правок в сайте. Без этого нужно заливать пустой окмод, а потом редактировать
Мои модули: Оптимизация, SEO, Скидки, Отчёты и прочее
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
- spectrum
- Разработчик дополнений
- Сообщения: 106
- Зарегистрирован: 10.03.2022
- Откуда: РФ
- Поблагодарил: 63 раз
- Спасибо: 46 раз
Re: ocStore Liveopencart 3.0.3.9
devimirochnik писал(а): ↑07 сен 2025, 21:21 Было бы круто добавить в модификаторы возможность не только редактировать модификаторы, но и добавлять без установки. Полезно, когда нужно добавлять свои модификаторы для правок в сайте. Без этого нужно заливать пустой окмод, а потом редактировать
В папку system модификатор положите и редактируйте его, сколько влезет
- Tom
- Разработчик дополнений
- Сообщения: 231
- Зарегистрирован: 10.03.2022
- Откуда: Казахстан - Алматы
- Поблагодарил: 11 раз
- Спасибо: 100 раз
- Контактная информация:
Re: ocStore Liveopencart 3.0.3.9
devimirochnik писал(а): ↑07 сен 2025, 21:21 Было бы круто добавить в модификаторы возможность не только редактировать модификаторы, но и добавлять без установки. Полезно, когда нужно добавлять свои модификаторы для правок в сайте. Без этого нужно заливать пустой окмод, а потом редактировать
Я вот это решение использую. Проверял и на этой сборке. Единственное пришлось добавить в модификатор
Код: Выделить всё
<file path="admin/controller/marketplace/modification.php">
<operation>
<search>
<![CDATA[protected function getList() {]]>
</search>
<add position="after">
<![CDATA[$this->load->model('extension/modification/editor');]]>
</add>
</operation>
.....
Код: Выделить всё
Fatal error: Uncaught Error: Call to a member function getExtensionInstallByExtensionInstallId() on null
https://www.opencart.com/index.php?rout ... n_id=22015
- devimirochnik
- Разработчик дополнений
- Сообщения: 206
- Зарегистрирован: 14.04.2022
- Откуда: Россия
- Мои дополнения: devimirochnik
- Поблагодарил: 7 раз
- Спасибо: 16 раз
Re: ocStore Liveopencart 3.0.3.9
Ну такое себе. Особенно когда модификатор должен быть поверх шаба, который в систем и лежит обычно. Плюс это не лучше перепаковки пустого окмода
Последний раз редактировалось devimirochnik 15 сен 2025, 20:14, всего редактировалось 1 раз.
Мои модули: Оптимизация, SEO, Скидки, Отчёты и прочее
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
- devimirochnik
- Разработчик дополнений
- Сообщения: 206
- Зарегистрирован: 14.04.2022
- Откуда: Россия
- Мои дополнения: devimirochnik
- Поблагодарил: 7 раз
- Спасибо: 16 раз
Re: ocStore Liveopencart 3.0.3.9
Tom писал(а): ↑15 сен 2025, 15:01devimirochnik писал(а): ↑07 сен 2025, 21:21 Было бы круто добавить в модификаторы возможность не только редактировать модификаторы, но и добавлять без установки. Полезно, когда нужно добавлять свои модификаторы для правок в сайте. Без этого нужно заливать пустой окмод, а потом редактировать
Я вот это решение использую. Проверял и на этой сборке. Единственное пришлось добавить в модификатор
а то иногда вываливает ошибкуКод: Выделить всё
<file path="admin/controller/marketplace/modification.php"> <operation> <search> <![CDATA[protected function getList() {]]> </search> <add position="after"> <![CDATA[$this->load->model('extension/modification/editor');]]> </add> </operation> .....
Код: Выделить всё
Fatal error: Uncaught Error: Call to a member function getExtensionInstallByExtensionInstallId() on null
https://www.opencart.com/index.php?rout ... n_id=22015
Модуль из бразилии, кстати, удобный - сам использую. Только лучше бы такое вшить в саму сборку, а то потом чего-нибудь поправят и опять может слететь
Кстати, код не полностью приложился
Мои модули: Оптимизация, SEO, Скидки, Отчёты и прочее
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
- spectrum
- Разработчик дополнений
- Сообщения: 106
- Зарегистрирован: 10.03.2022
- Откуда: РФ
- Поблагодарил: 63 раз
- Спасибо: 46 раз
Re: ocStore Liveopencart 3.0.3.9
devimirochnik писал(а): ↑15 сен 2025, 20:10 Ну такое себе. Особенно когда модификатор должен быть поверх шаба, который в систем и лежит обычно. Плюс это не лучше перепаковки пустого окмода
Кто мешает своему тестовому модификатору сделать префикс в имени, чтобы он исполнялся последним?
Да и добавлять сторонние, а не написанные самостоятельно, решения в сборку ну очень не очень.
- devimirochnik
- Разработчик дополнений
- Сообщения: 206
- Зарегистрирован: 14.04.2022
- Откуда: Россия
- Мои дополнения: devimirochnik
- Поблагодарил: 7 раз
- Спасибо: 16 раз
Re: ocStore Liveopencart 3.0.3.9
Никто и не предлагает в сборку добавлять данный модуль. Просто допилить уже текущий редактор модификаторовspectrum писал(а): ↑15 сен 2025, 20:46devimirochnik писал(а): ↑15 сен 2025, 20:10 Ну такое себе. Особенно когда модификатор должен быть поверх шаба, который в систем и лежит обычно. Плюс это не лучше перепаковки пустого окмода
Кто мешает своему тестовому модификатору сделать префикс в имени, чтобы он исполнялся последним?
Да и добавлять сторонние, а не написанные самостоятельно, решения в сборку ну очень не очень.
Мои модули: Оптимизация, SEO, Скидки, Отчёты и прочее
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
Оказываю услуги поддержки и выполнения различного рода задач для сайтов (допилы) в рамках самозанятости (фриланс). Стоимость и прочее зависит от задач. График ненормированный, но дело делаю.
- spectrum
- Разработчик дополнений
- Сообщения: 106
- Зарегистрирован: 10.03.2022
- Откуда: РФ
- Поблагодарил: 63 раз
- Спасибо: 46 раз
Re: ocStore Liveopencart 3.0.3.9
devimirochnik писал(а): ↑15 сен 2025, 22:23 Никто и не предлагает в сборку добавлять данный модуль. Просто допилить уже текущий редактор модификаторов
Видимо я "проспал" этот момент. Спасибо
- Tom
- Разработчик дополнений
- Сообщения: 231
- Зарегистрирован: 10.03.2022
- Откуда: Казахстан - Алматы
- Поблагодарил: 11 раз
- Спасибо: 100 раз
- Контактная информация: