Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Работа с разделами #2

Closed
niksamokhvalov opened this issue Oct 16, 2016 · 8 comments
Closed

Работа с разделами #2

niksamokhvalov opened this issue Oct 16, 2016 · 8 comments
Assignees

Comments

@niksamokhvalov
Copy link
Owner

niksamokhvalov commented Oct 16, 2016

Добавить пример работы с зависимыми хелперами. Например, сделать категории новостей.

@unnamed777
Copy link

Имеется ли хотя бы нерабочий пример того, как правильно разделы использовать? Пытаюсь их завести, но слишком много неоднозначностей. Не нужно решения "нажал кнопку и заработало", просто классы интерфейсов и хелперов элементов и разделов, чтобы понять, как правильно использовать.

@niksamokhvalov
Copy link
Owner Author

Давайте я поищу в старых проектах, пришлю описание и примеры, вы попробуете сделать разделы у себя, и если получится, пришлёте ПР с доработкой демки?

@unnamed777
Copy link

Не могу гарантировать, что это случится в ближайшем будущем (думаю, глядя на дату этого тикета и ссылки-комментария к связанному посту в блоге, вы это прекрасно понимаете:-); именно с этого поста я сюда и попал, когда надоело мучать основной модуль adminhelper). Было бы достаточно просто непричёсанных примеров кода без траты времени на дополнительные описания, чтобы понять задуманную логику и в правильном направлении ли я двигаюсь.

@niksamokhvalov
Copy link
Owner Author

Примерно так…

  1. Создаём две модели — NewsTable и CategoriesTable.
  2. Создаём NewsAdminInterface, NewsListHelper, NewsEditHelper.
  3. Создаём CategoriesAdminInterface, CategoriesListHelper (наследник \DigitalWand\AdminHelper\Helper\AdminSectionListHelper), CategoriesEditHelper (наследник \DigitalWand\AdminHelper\Helper\AdminSectionEditHelper).
  4. В NewsAdminInterface прописываем зависимость:
public function dependencies()
{
	return [CategoriesAdminInterface::class];
}
  1. В CategoriesAdminInterface прописываем зависимость:
public function dependencies()
{
	return [NewsAdminInterface::class];
}

@unnamed777
Copy link

Спасибо, уже сам разобрался. По ошибке указывал в helpers у элементов хелперы от раздела. Плюс кое-какие проблемы с колонками были, по ним PR сделал.

@nook-ru
Copy link

nook-ru commented Mar 10, 2017

@niksamokhvalov,

Давайте я поищу в старых проектах, пришлю описание и примеры, вы попробуете сделать разделы у себя, и если получится, пришлёте ПР с доработкой демки?

Я готов сделать PR с примером для разделов. Весьма не очевидна работа с ними, как ни крути, получаются независимые модели. Как организовать навигацию решительно непонятно)

@unnamed777
Copy link

@nook-ru модели и должны быть разные - модель для сущности и модель для разделов. Вот мой пример из рабочего проекта (модели для админки, хелперы для обоих сущностей, модели сущностей (*Table)). Но чтобы это всё завести, пришлось внести исправления в модуль, они отлёживаются в PR сейчас.

ЗЫ: названия хелперов у меня отличаются от модуля, потому как использую свои классы-наследники, позволяющие не делать модуль на каждую сущность в админке, но в целом, надеюсь, это поможет понять логику.

@nook-ru
Copy link

nook-ru commented Mar 13, 2017

@unnamed777, спасибо за пример, очень помог. Чтобы пазл сошёлся, не хватало SECTION_LINK, в phpDoc нигде не упоминающегося.

А вот статические $useSections и $sectionSuffix из хелперов, несмотря на комментарии, по факту никак не используются.

модели и должны быть разные - модель для сущности и модель для разделов

Частенько бывают кейсы с одной сущностью, которой просто нужно добавить иерархию. Тогда и «разделы» и «элементы» будут в одной модели.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants