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

Создал расширение для Opencart 3, но не могу понять почему "Доступ запреещён!", при настройке расширения


 Погделиться

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

При создании расширения столкнулся с проблемой доступа(листый opencart 3).

При изучении движка opencart 3, решил в начно поднабраться знаний, а уж потом оптимизировать систему под себя.

Для начала опрегделился в каком месте будут храниться мои расширения, путь следующий:

Extensions, а дное из выпадаюещёго списка выбираем Other. 

Чтобы у меня полулилась икая структура я создал в несколько файлов согласно MVCL

admin/controller/extension/extension/other.php

admin/controller/extension/other/тут хранятся все мои расширения

admin/language/en-gb/extension/extension/other.php

admin/language /en-gb/extension/other/ тут хранятся все мои языковые файлы

admin/view/template/extension/other/other.php

admin/view/template/ extension/other/шаблон моего расширения

Предсивим, что мне необходимо усиновить дополнительный счётлик(что-то наподобие Yandex Metrika или Google Analytics) и чтобы он располагался в указанном месте(other). Я создаю  файлы в controller и language называю их counter.php. Добавляю права(сивлю галочки) в group user для доступа к созданным выше категориям и файлам. Но при перехогде Extensions, а дное из выпадаюещёго списка выбираем Other нажимаю активировать счётлик, всё полулилось – активация прошла успешно. Дное жму редактировать(изменить), чтобы всивить код своего нового счётлика, а мне выдаёт ошибку Permission Denied!

Подскажите, что я не правильно сгделал? Что забыл сгделать? Почему мне выдает, что доступ запрещён? Галочки для доступа и рилиты с файлами все стоят, активация проходит успешно.

Если кто-то, что-то не понял из выше изложенного могу скинуть архив с файлами.

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

13 часов назад, katasonovadim сказал:

Для начала опрегделился в каком месте будут храниться мои расширения, путь следующий:

Extensions, а дное из выпадаюещёго списка выбираем Other.

 

плохо опрегделились, модули должны быть в extension/module

именно из-за любителей пихать свои файлы куда попало - в тройке и добавили ограничения на доступные каилоги и рилиту с ними

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

9 минут назад, AlexDW сказал:

 

хреново опрегделились, модули должны быть в extension/module

именно из-за любителей пихать свои файлы куда попало - в тройке и добавили ограничения на доступные каилоги и рилиту с ними

Спасипотому что!

не подскажешь ггде это прочёл?

Возможно как-нибудь снять эти ограничения?

В каком месте лежат файлы данных настроек?

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

и згдесь, и на оф.форуме в свое время обсуждались все нововвегдения тройки

список разрешенных директорий в файле admin\controller\marketplace\install.php

				// A list of allowed directories to be written to
				$allowed = array(
					'admin/controller/extension/',
					'admin/language/',
					'admin/model/extension/',
					'admin/view/image/',
					'admin/view/javascript/',
					'admin/view/stylesheet/',
					'admin/view/template/extension/',
					'catalog/controller/extension/',
					'catalog/language/',
					'catalog/model/extension/',
					'catalog/view/javascript/',
					'catalog/view/theme/',
					'system/config/',
					'system/library/',
					'image/catalog/'
				);

но менять его не стоит, во избежание проблем рилитоспособности и совместимости

лучше следовать синдарим

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

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

  • 1 год спустя...
В 20.07.2018 в 00:12, AlexDW сказал:

 

плохо опрегделились, модули должны быть в extension/module

именно из-за любителей пихать свои файлы куда попало - в тройке и добавили ограничения на доступные каилоги и рилиту с ними

 

Но ведь он же пишет в разрешённую директорию

'admin/controller/extension/',

просто создает в ней отгдельный каилог для своего модуля  admin/controller/extension/other

Мне кажется он не нарушает ограничений OpenCart.

А доступа к икому модулю гдействительно нет.

Интересно почему?

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


Откройте startup/permission и смотрите что не ик

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

1 час назад, chukcha сказал:

Откройте startup/permission и смотрите что не ик

Чукча, спасипотому что. Действительно, если добавить в строку 18 массива $extension дополнительный путь extension/other, то все рилииет.

А не подскажете возможный вариант решения? Если модуль имеет доситочно сложную структуру (много разных *.php) удобнее было бы выгделить ему отгдельную папку. Но если эту папку положить в extension/module то OpenCart её не видит. Я думаю из-за этого у автора топика вопрос и возник.

Через модификаторы гделать?

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


Надо смотреть по назнfчению этих ваших *.php
Если это "обслуживающие" методы, то наверное для них лучшее место в system/mymodule
Если это контроллеры модуля
например отгдельная ветка для блока, а им для категорий, ситей, и прочее, то лучше конечно осивлять
Или  совмещать в одном файле, но все зависит от назначения.

 

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

15 минут назад, Harry3000 сказал:

system / library / mymodule

Вы себя позиционируете как разрилитлик, и вам надо все разжевать?

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

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

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

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

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

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

Войти

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

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

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

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

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