45

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 MediaManadger 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;
  • You are guaranteed to receive support;
  • You help the OctoberCMS project to develop, as 30% of the payment goes to its development

Greetings to all PHP developers!

My absolute Free Windows PHP-server (GO language) for PHP-developers on OctoberCMS (Caddy server + PHP7 in FastCGI mode + OctoberCMS & Sqlite for storage this CMS + free admins components).

Very easy to configure and allows you to deploy your development environment in literally 1 minute. SQLite allows for small projects to transfer the source code to the production server without unnecessary gestures.

Assembly can also be used in production. Includes components:

  • My server (base on Caddy server sources)
  • PHP 7.1.1
  • 2 utilities from the winginx project (hostseditor.exe and php-config.exe)
  • HeidiSQL for MySQL, PostgreSQL, Miqrosoft SQL Server administration
  • SQLite Administrator
  • WinSCP for remote SSH
  • Sendmail dummy for debugging the sending of emails

In the plans:

  • Embedding the Mysql engine directly into the code (without installing the latter);
  • Adding additional administration tools
  • Full automatization: auto backup, auto deploy on work server, git, and more more (depending on the interest of users)

Download archive: https://caddywps.linkonoid.com/download or https://sourceforge.net/projects/caddywps

At the code are no viruses and bookmarks !!!

Installation - not required: extract archive and just run caddywps.exe!!! To go to the OctoberCMS Admin Panel select the top item of the program menu from the tray (admin/admin) or new installation.

!!!In some cases (if not), use the hostseditor.exe utility (also launched from the tray menu) to register localhost (127.0.0.1) in the hosts file. Successful work!

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