olegbro
+1
Репутация
2
Рейтинг
Так то да, самое простое, но не самое логичное) Даже на тестовом сайте такая же история. Немногие готовы заполнять отдельное поле с кратким описанием поста, которое можно было бы выводить в списке вместо основного текста.
Когда включена продажа полей (поле Текст поста), в списке записей у поста выводится текст, а на странице записи не выводится и есть кнопка Купить. Получается можно получить доступ к контенту поля в списке. Кажется логичнее и в списке постов вместо контента выводить кнопку для покупки, как на странице поста.
Удаление таблиц помогло. Не знаю откуда они там взялись, биллингом никогда не пользовался. Был компонент userpay, может он такие таблицы сделал. Но проблема с opengraph осталась, на странице /admin/controllers/edit/opengraph и вообще в админке:
Notice: Undefined index: url_mask_not in /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php on line 9
Notice: Undefined index: og_type_default in /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php on line 22
Fatal error: Uncaught TypeError: Argument 1 passed to opengraph::setBasicOpenGraph() must be of the type string, null given, called in /home/a0388144/domains/.../public_html/system/core/action.php on line 74 and defined in /home/a0388144/domains/.../public_html/system/controllers/opengraph/frontend.php:115 Stack trace: #0 /home/a0388144/domains/.../public_html/system/core/action.php(74): opengraph->setBasicOpenGraph(NULL, '\xD0\x9C\xD0\xB8\xD0\xBA\xD1\x80\xD0\xBE\xD1\x84\xD0\xBE\xD1...', '', 'https://...') #1 /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php(25): cmsAction->__call('setBasicOpenGra...', Array) #2 /home/a0388144/domains/.../public_html/system/core/controller.php(761): onOpengraphBeforeRenderPage->run(Array) #3 /home/a0388144/domains/.../public_html/system/core/controller.php(720): cmsController->runExternalHook('before_render_p...', Array) #4 /home/a0388144/domains/.../public_html/system/core in /home/a0388144/domains/.../public_html/system/controllers/opengraph/frontend.php on line 115
Если переименовать папку с opengraph — ошибка исчезает.
При обновлении через админку ошибка 503:
Ошибка в запросе БД :
Дублирующаяся запись '2' по ключу 'PRIMARY'
INSERT INTO `cms_billing_systems` (`id`, `name`, `title`, `payment_url`, `rate`, `options`, `is_enabled`, `ordering`) VALUES
(2, 'wmz', 'Webmoney WMZ', 'https://merchant.webmoney.ru/lmi/payment.asp', 1.0000, '---\npurse: \"\"\nsecret_key: \"\"\ntest_mode: \«0\»\n', NULL, 2),
(3, 'robokassa', 'Электронные деньги, карты, терминалы (Робокасса)', 'billing/prepare/robokassa', 1.0000, '---\nmerchant_login: \"\"\npassword1: \"\"\npassword2: \"\"\nfiscal_on: null\nfiscal_sno: osn\nfiscal_method: full_payment\nfiscal_object: service\nfiscal_name: \"\"\nfiscal_tax: none\n', NULL, 6),
(4, 'interkassa', 'Электронные деньги, карты, терминалы (Интеркасса)', 'https://sci.interkassa.com', 1.0000, '---\nik_co_id: \"\"\nik_secret_key: \"\"\n', NULL, 7),
(8, 'w1', 'Электронные деньги, карты, терминалы (W1)', 'https://wl.walletone.com/checkout/checkout/Index', 1.0000, '---\nmerchant_id: \"\"\nkey: \"\"\ncurrency_id: \"\"\n', NULL, 8),
(9, 'test', 'Тест (мгновенное пополнение)', 'billing/prepare/test', 0.1000, NULL, 1, 1),
(10, 'yandex', 'ЮMoney (Яндекс.Деньги)', 'https://yoomoney.ru/quickpay/confirm.xml', 1.0000, '---\nreceiver: \"\"\nsecret_key: \"\"\n', 0, 12),
(11, 'yakassa', 'ЮKassa (Яндекс.Касса)', 'billing/prepare/yakassa', 1.0000, '---\nshop_id: \"\"\nkey: \"\"\n', NULL, 13),
(14, 'paypal', 'PayPal', 'https://api.sandbox.paypal.com', 1.0000, '---\naccount: \"\"\ncurrency: RUB\nclient_id: \"\"\nsecret: \"\"\n', 0, 10),
(16, 'payeer', 'PAYEER', 'https://payeer.com/merchant/', 1.0000, '---\nshop_id: \"\"\nsecret_key: \"\"\nsig_key: \"\"\ncurr: RUB\n', NULL, 16);
Последние вызовы:
cmsDatabase-> importDump() @ /upload/installer/install.php: 82
install_billing() @ /upload/installer/install.php: 13
install_package() @ /system/core/installer.php: 549
cmsInstaller-> callInstallFunc() @ /system/core/installer.php: 498
cmsInstaller-> runPackageInstaller() @ /system/core/installer.php: 153
cmsInstaller-> install() @ /system/controllers/admin/actions/install_finish.php: 27
actionAdminInstallFinish-> run() @ /system/core/controller.php: 621
cmsController-> runExternalAction() @ /system/core/action.php: 74
cmsAction-> __call() @ /system/controllers/admin/actions/install.php: 18
actionAdminInstall-> run() @ /system/core/controller.php: 621
cmsController-> runExternalAction() @ /system/core/controller.php: 481
Если потом зайти в админку — версия Инстанта 2.18.0, компонента Биллинг нет в списке. Вручную обновил события (там был биллинг), но он все равно не появился в списке компонентов. Так же отладка пишет:
Так же есть такая ошибка при попытке зайти /admin/controllers/events:
Notice: Undefined index: is_refs in /home/a0388144/domains/.../public_html/system/controllers/billing/hooks/engine_start.php on line 7
Notice: Undefined index: url_mask_not in /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php on line 9
Notice: Undefined index: og_type_default in /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php on line 22
Fatal error: Uncaught TypeError: Argument 1 passed to opengraph::setBasicOpenGraph() must be of the type string, null given, called in /home/a0388144/domains/.../public_html/system/core/action.php on line 74 and defined in /home/a0388144/domains/.../public_html/system/controllers/opengraph/frontend.php:115 Stack trace: #0 /home/a0388144/domains/.../public_html/system/core/action.php(74): opengraph->setBasicOpenGraph(NULL, '\xD0\xA3\xD0\xBF\xD1\x80\xD0\xB0\xD0\xB2\xD0\xBB\xD0\xB5\xD0...', '', 'https://...') #1 /home/a0388144/domains/.../public_html/system/controllers/opengraph/hooks/before_render_page.php(25): cmsAction->__call('setBasicOpenGra...', Array) #2 /home/a0388144/domains/.../public_html/system/core/controller.php(761): onOpengraphBeforeRenderPage->run(Array) #3 /home/a0388144/domains/.../public_html/system/core/controller.php(720): cmsController->runExternalHook('before_render_p...', Array) #4 /home/a0388144/domains/.../public_html/system/core in /home/a0388144/domains/.../public_html/system/controllers/opengraph/frontend.php on line 115
При этом компонент opengraph я удалил перед обновлением, события обновил. Компонент opengraph я сознательно не обновляю, так как у меня php 7.2, а ему для обновления надо php 8+. Получается что если он присутствует в новой версии инстанта, то мне все равно надо менять php чтобы обновиться?