kayue / KayueWordpressBundle

A Symfony 2 bundle for providing WordPress repositories and authenticating users (login).
101 stars 43 forks source link

[RFC] Gallery shortcode #45

Closed Nek- closed 9 years ago

Nek- commented 9 years ago

In order to transform galery shortcodes I suggest a solution with many improvements:

Anything against this suggestion ?

This is a WIP proposal.

kayue commented 9 years ago

New gallery controller

Why controller? I guess you won't be accepting Request and an argument, isn't service (or just in the Shortcode class) a better place for it?

Repository class for Post items

:+1:

Nek- commented 9 years ago

Here is an example of gallery, in fact it's out of the post, so it should be in a controller.

With my implementation the user will be able to redefine the template of the shortcode so he's not obliged to use the controller gallery (that will not be so awesome but follow wordpress).

Screenshoot of my wordpress test website

kayue commented 9 years ago

@Nek- In fact AttachmentManager can act as a repository already. (Bad naming? This was my first bundle so I didn't know the difference between Manager and Repository...)

Anyway, I would keep Controller out of this bundle, because the goal of this bundle is to help developer to create their own app by providing a set of services / utilities, not to create one for them. Also we are not going to provide any routing in this bundle, so I don't think anyone is going to use the Controller we provide anyway.

An gallery can be as simple as this:

public galleryAction($post) 
{
  return [
    'gallery' => $this->get('kayue_wordpress.attachment.manager')->findAttachmentsByPost($post);
  ];
}
Nek- commented 9 years ago

About Manager/Repository, bad naming indeed. I'm going to keep your logic.

About the controller, when you say galleryAction, you're speaking about a controller :) . But you don't want one... Weird isn't it ?

I don't see the problem to have a controller in the bundle.

kayue commented 9 years ago

@Nek- I didn't meant to have galleryAction in this bundle. My point is we have already made the code so simple, why do we bother creating the Controller for the developer?

I believe every app's business logic (Controller) is different, we can never create a Controller that can fit everybody. Some people might want render gallery in a Twig function, some might want to use this bundle to create a REST API. I think we should let the developer decide how they want to use this bundle.

Nek- commented 9 years ago

It's the same deal as FOSControllers :) . But they provide some. And a lot of people use them... Because they don't need complexe Controllers.

Also since I'm going to provide an (overidable) template for the shortcut that will have a link to another page... I need to have something at the other page.

kayue commented 9 years ago

@Nek- Alright then. It doesn't hurt to provide more. =)

Nek- commented 9 years ago

Okep :) . I'm going to write some tests and I PR !