Skip to Content Skip to Menu

Suggestions for Customized Frontend Plan Layouts (Moving Beyond Standard Config)

5 hours 6 minutes ago - 5 hours 5 minutes ago #343563 by okp-medezide
Hi Team and Community,

I am currently working on integrating CB Paid Subscriptions into my Joomla application and am looking for advice on the best architectural approach to customize the plan selection layout.

I have a specific UI/UX goal that requires more granular control. Specifically, I am trying to make our "Custom Plan" highly attractive and intuitive. This plan allows users to "pick and choose" specific categories for access, and the default presentation isn't quite matching the vision we have for this interactive experience.

The Goal
I created a visual prototype in Framer here:  delicate-guidance-013931.framer.app/custom-plan

I’ve managed to tweak the current look using global CSS (see attached screenshot for my current progress), but I’m hitting the limits of what CSS overrides can achieve. I want to essentially build a bespoke layout using custom HTML, PHP, and potentially JavaScript to handle the category selection UX better.

My Questions
I would appreciate some guidance on which path is recommended for long-term stability and ease of updates:
  1. Template Overrides: Is the standard Joomla template override system the best way to skin the CBPS plan selection page, or are there specific CBPS views I should prioritize?
  2. CB API Documentation: I’ve seen mentions of a CB API, but I’m struggling to find comprehensive documentation. Does the API allow for fetching plan data and category options (CB Options) to render them in a completely custom PHP/JS app?
  3. Custom Page via Joomla API: Would it be better to build a standalone Joomla component/page that interacts with the CBPS tables directly, or is there a "CB-native" way to inject custom layouts?
I am comfortable with custom coding, I just want to make sure I am not "reinventing the wheel" or breaking the core subscription logic.Current Setup:
  • Joomla version: 5.4.2
  • CB Paid Subscriptions version: 4.9.0
Any suggestions, snippets, or links to relevant API documentation would be greatly appreciated!
Attachments:
Last edit: 5 hours 5 minutes ago by okp-medezide. Reason: To fix linebreaks

Please Log in or Create an account to join the conversation.

  • krileon
  • krileon
  • ONLINE
  • Posts: 50270
  • Thanks: 8603
  • Karma: 1470
2 hours 34 minutes ago #343565 by krileon
For CB itself we've layout parameters you can use to completely override the registration, profile, and profile edit layouts with your own and insert fields anywhere in that custom layout. This is done from within CBs Default template in CB > Plugin Management under the Layout tab. We include a few layouts or you can just use the Custom one and provide your HTML. CSS overrides are also done from this same location so your custom CSS would also be there.

Template Overrides: Is the standard Joomla template override system the best way to skin the CBPS plan selection page, or are there specific CBPS views I should prioritize?

The standard Joomla layouts are not used. CB and CBSubs have existed before Joomla implemented layout overrides (we've been around for a very long time and we plan to be around for even longer!) so we have our own system. This will change with CB 3.0 and future rewrites of plugins as they're converted to standalone Joomla extensions.

For CBSubs specifically they're just plugins. Notice the rounded template included with CBSubs is a normal fully installable plugin. You can you use that as an example starting point. This will let you override every template file shown in the below folder.

/components/com_comprofiler/plugin/user/plug_cbpaidsubscriptions/templates/default

CB API Documentation: I’ve seen mentions of a CB API, but I’m struggling to find comprehensive documentation. Does the API allow for fetching plan data and category options (CB Options) to render them in a completely custom PHP/JS app?

We don't have a comprehensive API documentation. We're just 2 people and unfortunately don't have the time to write much documentation these days. I'll try to do better in the future, but for the sake of honesty felt I should say our priority is features and bug fixes.

As for API endpoints that functionality has been offloaded to CB Auto Actions, which you can use to create any kind of custom API endpoint you like. It also works with Joomla web authentication tokens for authenticating your auto action API endpoints. CB Auto Actions supports plain html responses and JSON out of the box.

We also include Joomla content plugin functionality that'll let you use shortcodes anywhere in Joomla that supports content plugins to insert CBSubs data. Things like links to the plan, its description, its price, etc.. The shortcodes are documented in the CBSubs system plugin in System > Manage > Plugins.

If you need specifics simply ask what you're needing to output and I can provide you with working examples.

Custom Page via Joomla API: Would it be better to build a standalone Joomla component/page that interacts with the CBPS tables directly, or is there a "CB-native" way to inject custom layouts?

Long term the best option is to just make a template plugin for CBSubs and style it however you like. If your styling can be done entirely with CSS then I also recommend that approach.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in or Create an account to join the conversation.

Moderators: beatnantkrileon
Powered by Kunena Forum