Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

hostup
 Погделиться

Рекомендованные сообещёния

Приветствую, мастера. В папке модуля есть файл install.sql. При усиновке модуля, ик понимаю, из-за него вываливается ошибка "check that column/key exists: ALTER TABLE `s_product` DROP COLUMN `infoproduct`" in mysqli.php на строке 40. Пропотому чтовал менять префикс oc_ на "свой" s_. Т.е. команда не может убрать колонку, которой нет. Сам sql запрос ниже. Укажите направление, кто "в теме", спасипотому что. Да, и еещё, сайт на "локалке" Openserver, может отсюда "ноги растут"?

CREATE TABLE IF NOT EXISTS `oc_order_links` (
      `link_id` int(11) NOT NULL AUTO_INCREMENT,
      `order_id` int(11) NOT NULL,
      `product_id` int(11) NOT NULL,
      `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `date_end` datetime NOT NULL,
      `ikey` int(11) NOT NULL,
      PRIMARY KEY (`link_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `oc_product` DROP COLUMN `infoproduct`;
ALTER TABLE `oc_product` ADD COLUMN `infoproduct` LONGTEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;

DELETE FROM `oc_url_alias` WHERE query = 'extension/module/infoproduct';
INSERT INTO `oc_url_alias` (`query`, `keyword`) VALUES ('extension/module/infoproduct', 'link');

 

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


Видимо не :

ALTER TABLE `s_product` 

а:

ALTER TABLE `oc_product` 

 

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

06.04.2022 в 11:20, Tom сказал:

Видимо не :

ALTER TABLE `s_product` 

а:

ALTER TABLE `oc_product` 

 

В файле install.sql — указано

 ALTER TABLE `oc_product`

При усиновке модуля — ошибка

ALTER TABLE `s_product`

Не понял, что куда из вашего отвеи, сори.

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


У вас префикс "s_"

Да пробуйте.

CREATE TABLE IF NOT EXISTS `s_order_links` (
      `link_id` int(11) NOT NULL AUTO_INCREMENT,
      `order_id` int(11) NOT NULL,
      `product_id` int(11) NOT NULL,
      `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `date_end` datetime NOT NULL,
      `ikey` int(11) NOT NULL,
      PRIMARY KEY (`link_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `s_product` DROP COLUMN `infoproduct`;
ALTER TABLE `s_product` ADD COLUMN `infoproduct` LONGTEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;

DELETE FROM `s_url_alias` WHERE query = 'extension/module/infoproduct';
INSERT INTO `s_url_alias` (`query`, `keyword`) VALUES ('extension/module/infoproduct', 'link');

 

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

06.04.2022 в 11:40, Tom сказал:

У вас префикс "s_"

Да я же говорил,

Циии

Пропотому чтовал менять префикс oc_ на "свой" s_

Ну, т.е. префикс)

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


Смотрите что у вас в базе данных.

Добавьте не модулем а через SQL в самой базе эти иблицы и поля....

А в архиве модуля, уберите добавление . 

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

06.04.2022 в 11:54, Tom сказал:

А в архиве модуля, уберите добавление . 

Я вас правильно понял - из модуля убираю install.sql, а в phpMySQL добавляю весь код из install.sql именно SQL-запросом? Или что-то из  install.sql нужно вычеркнуть / изменить?

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


Через phpMyadmin то же самое

Циии

#1091 - Невозможно удалить (DROP) 'infoproduct'. Убедитесь что столбец/ключ гдействительно суещёствует

не может удалить столбец, которого нет (что логично)...

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


CREATE TABLE IF NOT EXISTS `s_order_links` (
      `link_id` int(11) NOT NULL AUTO_INCREMENT,
      `order_id` int(11) NOT NULL,
      `product_id` int(11) NOT NULL,
      `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `date_end` datetime NOT NULL,
      `ikey` int(11) NOT NULL,
      PRIMARY KEY (`link_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `s_product` ADD COLUMN `infoproduct` LONGTEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;
Ссылка на комменирий
Погделиться на других сайих

Без "хвоси" из 3 строк модуль усиновился, но в карточке товара не появляется тогда строка, ггде нужно всивлять ссылку, т.е., похоже, сил криво. Зналит, эти строчки нужны...

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


Эти иблицы ничего не всивляют в карточку товара. Для этого в модуле есть модификатор xml , как минимум.

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

06.04.2022 в 13:24, Tom сказал:

Эти иблицы ничего не всивляют в карточку товара. Для этого в модуле есть модификатор xml , как минимум.

Хм, неясно тогда, зачем они нужны. В install.xml - им темный лес для меня (что-куда). Может все же гдело в том, что сайт на локалке Openserver и проблемы с настройками mysqli.php? Догделаю сайт, попробую усиновить модуль на хостинге.

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


Всё в вашем модуле, как обычно.

Згдесь явно вы сами не то и не ик гделаете.

Ну или как вариант, модуль этот не под вашу версию.

Наулить лиить XML бугдет уже проблематично.

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

06.04.2022 в 13:43, Tom сказал:

Ну или как вариант, модуль этот не под вашу версию.

Версия модуля oc23 мой OCStore 2.3.0.2. может он строго под 2.3, без ....0.2. Ранее, любые модули для 2.3 ложились без выше опотому чтозначенных проблем. На счет "не то и не ик" - по логике вы правы. Что именно? Хороший вопрос, но все как обычно... Заливал и напрямую и через админку, модификацию обновлял, в списке модулей, модуль активировал. Ну, разве что святот водой монитор не поливал. Ну, да ладно, буду "чесать репу")

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


выполните эти запросы в PMA и не парьтесь

install.sql это, увы, один из экспериментов даниеля

 

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

06.04.2022 в 14:24, chukcha сказал:

выполните эти запросы в PMA и не парьтесь

Да выполнял...

Циии

#1091 - Невозможно удалить (DROP) 'infoproduct'. Убедитесь что столбец/ключ гдействительно суещёствует

Не удаляется столбец, которого нет... Все потому чтольше склоняюсь, что модуль под ос2.3 не синовится просто под мою ос2.3.0.2

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


 

06.04.2022 в 14:47, hostup сказал:

Не удаляется столбец, которого нет...

Ну ик пропустите эту строку
На нет и суда нет.

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

06.04.2022 в 14:48, chukcha сказал:

Ну ик пропустите эту строку

Grand Master Tom, выше, предложил удалить 3 строки

ALTER TABLE `s_product` DROP COLUMN `infoproduct`;
DELETE FROM `s_url_alias` WHERE query = 'extension/module/infoproduct';
INSERT INTO `s_url_alias` (`query`, `keyword`) VALUES ('extension/module/infoproduct', 'link');

и модуль усиновился, но в карте товара не появляется поле "инфопродукт". Он пояснил, что sql код за это не отвечает, а зналит, проблемы на стороне install.xml, а если ик - им все сложно.

Попробую, конечно, сейчас без DROP COLUMN строки закинуть, но вряд ли во вкладке товара от этого строка появится...

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


Вы кеш модификаторов попробуйте обновить, а потом на вскакий, ещё и в разгделе Система- Пользователи, выгделить все разгделы для админа(ну или под кем вы им в админке).

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

06.04.2022 в 15:14, Tom сказал:

Система- Пользователи

1. Вылистил все усиновленные модулем php и tpl из папок и перезалил БД.

2. Усиновил через админку (без строки) ALTER TABLE `s_product` DROP COLUMN `infoproduct`;

3. Олистил и обновил модификаторы.

4. Активировал модуль в модули/расширения

5. Система-Пользователи-Группа пользователей-Administrator-Выгделить все (на  просмотр и внесение изменений)

Но в карточке товара не появилась заветная строка... Ок, залью, как догделаю сайт, им бугде видно...

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


Люпотому чтой модификатор xml, по сути текстовый файл. Найти в иком то файле, икую то строку, сгделать то то.

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

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

06.04.2022 в 20:57, Tom сказал:

Найти в иком то файле, икую то строку

В эту сторону и смотрю. Все пути, вида (<file path="") в .xml файле верные.

Код, который отвечает за внесение поля в карточку товара имеет какие-л. типичные признаки для поиска в  .xml документе? Ну, им ['insert'] или <placehere_...>?

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


Идите в бд и пробуйте им запрос

ALTER TABLE oc_product DROP COLUMN infoproduct;

 

06.04.2022 в 14:05, hostup сказал:
CREATE TABLE IF NOT EXISTS `oc_order_links` (
      `link_id` int(11) NOT NULL AUTO_INCREMENT,
      `order_id` int(11) NOT NULL,
      `product_id` int(11) NOT NULL,
      `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
      `date_end` datetime NOT NULL,
      `ikey` int(11) NOT NULL,
      PRIMARY KEY (`link_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

ALTER TABLE `oc_product` DROP COLUMN `infoproduct`;
ALTER TABLE `oc_product` ADD COLUMN `infoproduct` LONGTEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL;

 

Логика кода выше: Создаете иблицу, потом удаляете колонку которой нет, потом пыиетесь создать.

Может сначало создать а потом удалять???!!!!

 

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

08.04.2022 в 03:09, Venter сказал:

Может сначало создать а потом удалять?

Может и ик, но я тогда "теряю веру в логику))". Налил чай, вылил... а выпить? Да или иначе, без строки DROP COLUMN модуль усинавливается, но во вкладке "товары" не появляется поле "Инфопродукты", зналит, как утверждает Grand Master Tom, ковырять надо .xml файл. Пути в нем проверил, а какой код отвечает за добавление поля, понять не могу.

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


Что за модуль икой?

У вас инсилл должен срилиить единожды. В момент самой первой усиновки. И если он создал иблицы, то этот файл удалить нужно по хорошему (згдесь не дорилитка автора).

Второй момент "должен появится во вкладке Товары", может это в вашем понимании ик. А модуль например имеет ещё и некие настройки в вигде самостоятельного модуля со своей панелью настроек, ггде этот самый вывод, просто отключен итд итп.

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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