41

Product support

Get help in the plugin support forum.

Categories

Very Easy transfer of work with all backend widgets to frontend

Updated demo: added Rainlab.User auth link on page for demonstration filter work for frontend users.

New in v1.0.3:

  • Added BackendUser context parameter in settings for correct permissions work in Frontend.
  • Updated modifed core files in vendor directory.
  • Little modifications code and fix bugs.

Plugin stable and works in production only in base mode (without use Relation, Reorder, Import/Export Controllers)!

In which cases will this plugin be required?

  • To create personal user accounts with advanced functionality (manage user clients, documents or others entites);
  • To create arbitrary Forms directly from models with support CRUD by analogy with working in Backend;
  • Work with Lists of arbitrary data on the client side by analogy with working in Backend;
  • Use Reports Widgets or MediaManager on page

My others quality plugins:

  • UniDoc(Generate Excel, Word (PhpOffice), Pdf (Snappy || mPDF || TCPD || Dompdf) documents easy on fly and make manipulations with files)
  • Expander (Extend all available models: adding all types custom fields +attributes for model with in database save, and controllers: extends lists and adding custom Behaviors with built-in CMS tools in easy visual mode)
  • Multi Domains (Create multiple domains or url and bind this to arbitry theme or page/staticpage with extending routing rules use single CMS installation)
  • Backend Menu (Complete change and reconfiguration of all menus in backend: adding, rename, move, hide, icons adding and change)
  • Backend Popup (Quick modify records in backend controllers lists in modal popup mode)
  • Datatables (View big data table on page in Ajax-mode)
  • Auto SEO (Full SEO automate. Generate SEO tags based on rules and page content data)
  • Desktop application builder (Free experimental plugin. Easy make Desktop Application on OctoberCMS base)
  • Shortcodes Engine (Free plugin. Core plugin for includes shortcodes in page content, support Static pages)
  • Include Content (Free plugin. Include content on page from other site or file)
  • AdSense (Free plugin. Enables to use AdSense on page)

Features:

  • Support all CMS Widgets (Lists, Search, Filter, Form & FormWidgets, MediaManager, Reports);
  • Support Behaviors: Relation, Reorder, Import/Export Controllers in EXPERIMENTAL mode;
  • Supports multiple Lists on one page (if setting Alias for Components);
  • Supports specific Partials and Configs for all Yours Controllers and Models;
  • Support backend-style CRUD operations ;
  • Support RainlabUser plugin for records only auth user;
  • Support arbitrary SQL pre-filters (it's not Scopes - Scopes settings in Controllers configs files);
  • Support adding new User fields in form;
  • Supports css-stylisation Rows in Lists;
  • Support limit SQL-select rows

Frontend Live demo

This demo uses only JS-scripts and standard CSS-styles from the Demo-theme of OctoberCMS and the Backend, there are no more additional scripts and post-processing (therefore styles can be superimposed and some artifacts are possible) https://backtofront.test.linkonoid.com/useraccount

Backend Live demo

https://backtofront.test.linkonoid.com/backend/backend/auth/signin (backtofront/admin)

Why is this plugin paid?

  • This is not a trivial plugin and it took a lot of time to develop it. The real development cost is much higher
  • You are guaranteed to receive support. Unfortunately, time a developer costs money
  • Need to pay demo servers
  • You help the OctoberCMS project to develop, as 30% of the payment goes to its development
  • I would love to make this plugin public, but even the minimum fee gives an incentive to its further development and support
Demo two Lists in one page (2 alias BackToFront component)

Little theory:

Backend Widget == Frontend Component (not "===" :)

To fully adapt the functionality of the widgets, you need to meet several simultaneous requirements:

  • Each widget must have a component in the frontend;
  • Each new component must have nested partials connected;
  • Corresponding styles and scripts from the backend should be connected to each new component.

In this plugin, this is implemented using fully standard OctoberCMS tools, as far as its core allows, without using third-party scripts and code inclusions (including without post-processing of content).

During the development of the plugin, minor bugs and flaws in 3 CMS files (Filter.php, Search.php and _scope_text.htm) were found out. They are eliminated with the help of a hack (replacing the corresponding files directly from the plugin settings)

Included with this plugin comes a test plugin "TestBTFPlugin" with 2 models and a 2 controllers (it is also present in the demo on the site)

Beginning of work:

  1. Install Plugin and go to Settings for modify CMS core files (Or correct your manually from the vendor folder, there are my comments), and install supports RainlabUser plugin (not necessary).

  2. Create new CMS page and write Url in this format: /..../paths/..../:alias?/:crud?/:id?

    • alias - alias component variable;
    • crud - CRUD operation name variable;
    • id - record ID for CRUD operation variable;
  3. Include on page selected Components from:

    • BackToFront (it`s complex component) - include Lists, Toolbar, Filter, Search, FormWidgets ( 'codeeditor', 'richeditor', 'markdown', 'fileupload', 'datepicker', 'timepicker', 'colorpicker', datatable', 'recordfinder', 'repeater', 'taglist', 'mediafinder','nestedform'). For BackToFront select used controller and installs others options (alls intuitive).
    • MediaManager - include MediaManager widget, support all functional. This Component use default Alias 'ocmediamanager' - this name used in js scripts and not change programmatical. Component have only one Parameter - 'ReadOnly'.
    • ReportWidget - include ReportContainer and all plugins Report widgets. Select widget from list widgets (Not all widgets have rights to view frontend users!).
  4. In page layout must necessarily attend this scripts (from Demo-theme):

        <script src="{{ 'assets/vendor/jquery.js'|theme }}"></script>
        <script src="{{ 'assets/vendor/bootstrap.js'|theme }}"></script>
        {% framework extras %}
        {% scripts %} 
  5. Add in Code section this lines for include all assets from includes widgets:

    // in Code section
    function onStart()
    {       
        foreach ($this->assets['css'] as $value) $this->addCss($value,'core');
        foreach ($this->assets['js'] as $value) $this->addJs($value,'core');
    }

    Soon I will add a more detailed guide, while this is quite enough to get started, because setting is almost the same as using standard components.

1.0.3

Added BackendUser context parameter in settings for correct permissions work in Frontend. Updated modifed core files in vendor directory. Little modifications code and fix bugs.

Sep 13, 2019

1.0.2

Added work with Relation, Reorder, Import/Export Controllers in experimental mode

Jul 05, 2019

1.0.1

Initialize plugin BackToFront

Apr 26, 2019