Jump to content
NadalKumar

Beta testers needed for content manager addon module

Recommended Posts

The module has a similar behavior to a basic CMS in that it creates unlimited

  • Categories
  • Pages
  • Menu items

It provides a method to format display layout by simply arranging shortcode placeholders which are replaced by specific data objects eg: [image] [title] [text].

Easily replace the core primary and secondary navigation, with custom menu items that are managed in the admin.

Create additional groups of menu items and place as widgets in various positions (foot, sideleft, sideright, mid, top, bottom)

Place WHMCS core widgets in any position.

Easily add multi-media to posts, including video, audio, photo gallery, survey polls. Display post metas such as author, post date, category, views, votes

 

Beta Testing

Go to the demo site administration

Full administrator login

User: betatest

Pwd: betatest

The database resets periodically. Report issues in this thread.

 

The Visuals

Initial module setup

admin-module-configuration.jpg.b437dc5d4630e4b6fce74fdaf0883c98.jpg

 

Global Display Configuration

admin-global-configuration.thumb.jpg.51667c5cba1a19b0e59617e8f9af97e6.jpg

 

Menu Items List And Groups

admin-menu-list.jpg.646259536741469b2ab14bb3fc9c5794.jpg

 

Menu Item Edit

admin-menu-item.thumb.jpg.95a22362b4757a850982b911da0925b4.jpg

 

Categories List

admin-categories-list.jpg.2b4318227141767118926ad6c126c101.jpg

 

Category Edit

admin-category-edit.thumb.jpg.2f697fffb4abd720ca97538fce61cb18.jpg

 

Posts List

admin-posts-list.thumb.jpg.0bc765d0aac4b6216a4f7576c7cc2892.jpg

 

Post Edit

admin-post-edit.thumb.jpg.209b825ad09915f03ffa5b9c825754ce.jpg

 

All Categories View In Front End

all-categories-view.thumb.jpg.b99413461ff5ef00ba1d5bf366d53cbc.jpg

 

 

Single Category View

category-view.thumb.jpg.13e651600a74f26af5445b3faadb6262.jpg

 

 

Post View

post-view.thumb.jpg.441aae749a06344ecd8ab3d0d3fb85d5.jpg

Share this post


Link to post
Share on other sites

Added side bar widget function to allow custom HTML objects on all or selected pages. The positions can be customized to suit.

A user can create output function and register as a widget that can be selected for editing, just by adding a folder with the processing and display files in the addon directory called widgets

Widget Edit

custom-html-widget.jpg.0ccc0544a2389ae3f0fc77583c762b1e.jpg

 

Published Widgets List

widget-list.jpg.e0ee25243ef82e3333c828224bdccf59.jpg

 

Front Output

output-with-widget.thumb.jpg.fad2a0a7b4f6af720e9ec552a3fe2a7c.jpg

 

Directory Structure

directory-structure.jpg.071dd773f589b24700d8088cf73b0bfa.jpg

Share this post


Link to post
Share on other sites

The custom widget development has been simplified by adopting the form field method used by Joomla. A simple XML file placed in the custom widget's directory and given the exact name of the widget's folder will provide a variety of data to the functions for display.

widget-xml-data.jpg.b2d2fc7137ac257459fd30c576de207f.jpg

 

Fields produced from the XML are in the main left column. All other fields are constant to define frontend display

admin-entries.thumb.jpg.1d080680a747b87410ce8c55bffff67d.jpg

 

The widget's frontend out put coding. This file is placed in a subfolder of the widget's root

widget-front-display-file.jpg.ac3077625c365336d52cd81897d838dc.jpg

 

Front result

front-result.jpg.7df57bc3aed3f90252df14d1f99d4486.jpg

Share this post


Link to post
Share on other sites

An installer has been added to allow easy upload of sidebar widgets, CMSE module templates and even WHMCS frontend templates.

Each extension type just needs to have a .xml manifest file in its root folder and be compressed as a .zip file. Simply upload the compressed file and process will be handled.

The XML file

Set the type as whmcstemplate to instruct the installer on the destination. The xml file name must be the same as the template's directory name.

<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="whmcstemplate">
	<name>Forex Template</name>
	<version>1.0</version>
	<creationDate>03/24/19</creationDate>
	<author>CMSenergizer.com</author>
	<authorEmail>mail@cmsenergizer.com</authorEmail>
	<authorUrl>http://www.cmsenergizer.com</authorUrl>
	<copyright>CMSEnergizer.com</copyright>
	<license>GNU/GPL</license>

</extension>

For the sidebar widget, the type is widget and for CMSE module template the type is just template and

The process

installer.jpg.3221fb3654ca4297e548473865414139.jpg

 

The result

installed.jpg.ce7ee4d93e99b2d4e8e594a6e818f77f.jpg

Share this post


Link to post
Share on other sites

Added a sidebar widget which displays the latest posts from the post manager addon.

latest-post-widget-for-cmse-front.thumb.jpg.679b234d2d3a9a25a2375e7f9fb39eda.jpg

 

It will allow post selection from 1 or multiple categories and the layout system allows custom formatting as desired.

latest-post-widget-for-cmse.thumb.jpg.49de8b9004d78bfa90a8f49c0d2fc5ab.jpg

 

Any similar widget can be developed and installed easily with the simple form field function. Just write each field in the xml manifest file and display in the administration.

<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="widget">
	<name>cmse Latest Posts</name>
	<version>1.0</version>
	<creationDate>03/24/19</creationDate>
	<author>CMSenergizer.com</author>
	<authorEmail>mail@cmsenergizer.com</authorEmail>
	<authorUrl>http://www.cmsenergizer.com</authorUrl>
	<copyright>CMSEnergizer.com</copyright>
	<license>GNU/GPL</license>

	<fields>
		<field type="list" name="format" label="Format">
			<option value="grid">Grid</option>
			<option value="list">List</option>
		</field>
		<field type="categories" name="postcats" label="Categories" />
		<field type="number" name="itemcount" min="0" label="Item Count" />
		<field type="number" name="itemsperrow" min="0" label="Items Per Row" />
		<field type="number" name="textlimit" min="0" label="Text Limit" />
		<field type="number" name="imgmask" min="0" label="Image Height" />
		<field type="textarea" name="layout" value="[image][title][text]" label="Layout" />
		<field type="textarea" name="customcss" label="Custom CSS" />
	</fields>
</extension>

 

 

Share this post


Link to post
Share on other sites

Make any template modular by adding position code blocks any where the out put of a widget is desired. Known as modules in Joomla CMS and Widgets in WordPress.

This sample when placed in header.tpl will display the content of a widget that is assigned to the position on the page's menu ID. The widget can be assigned to one or multiple pages.

Create as many positions as desired and format normally with CSS.

<section id="main-body">
    <div class="container{if $skipMainBodyContainer}-fluid without-padding{/if}">
        <div class="row">
        {if "maintop"|in_array:$position}
            <div class="main-top">
                {getWidgets('maintop')}
            <div class="clearall"></div>
            </div>
        {/if}

This allows greater flexibility for various content positioning without the need for constant template code alteration.

Share this post


Link to post
Share on other sites

A template editor has been added to enable template duplication and editing from within the admin. This function is only accessible by Full Administrators.

template-editor.thumb.jpg.c57e78f151b6823f4bd9ed36d4a359df.jpg

Share this post


Link to post
Share on other sites

Added a language override editor. It creates an overrides folder in the lang directory if one does not exist. It also creates a file for the default language. Each entry is appended to the file on a new line.

language-editor.thumb.jpg.fc6b581a535f0160573c53aeadedd66c.jpg

Share this post


Link to post
Share on other sites
3 hours ago, mfoland said:

Would this work with the template HostX?

It's not template dependent so it will work with any template.

Share this post


Link to post
Share on other sites

It is accessible with full administrator login. See the details in the first post of this thread.

Share this post


Link to post
Share on other sites

Added a few robust template configuration features. This will allow a user with a template that invokes the template manifest xml, to dynamically configure the format allowed by the template developer, and there are no limits.

A developer just need to include a file named template.xml in the template's root. The addon system will detect the file and print the fields in the various locations.

The manifest file method

<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="template">
	<name>SixFlix</name>
	<version>1.0</version>
	<creationDate>04/11/19</creationDate>
	<author>CMSenergizer.com</author>
	<authorEmail>mail@cmsenergizer.com</authorEmail>
	<authorUrl>http://www.cmsenergizer.com</authorUrl>
	<copyright>CMSEnergizer.com</copyright>
	<license>GNU/GPL</license>

	<positions>
		<position>headitem</position>
		<position>toprow</position>
		<position>midrow</position>
		<position>maintop</position>
		<position>mainbottom</position>
		<position>sideleft</position>
		<position>sideright</position>
		<position>bottomrow</position>
		<position>foot</position>
		<position>copyright</position>
	</positions>
	
	<fields>
		<fieldset label="Layout" class="boxsize width_30 break">
			<field type="text" name="favicon" placeholder="images/assets/fave.png" label="FavIcon" />
			<field type="number" name="layoutwidth" min="940" max="1920" value="1180" label="Layout Max Width" />
			<field type="list" name="themes" label="Style Theme">
				<option value="custom.css">custom.css</option>
				<option value="hostx.css">hostx.css</option>
				<option value="newstime.css">newstime.css</option>
			</field>
			<field type="number" name="leftcolwidth" value="30" label="Left Column Width" />
			<field type="number" name="rightcolwidth" value="30" label="Right Column Width" />
		</fieldset>
		
		<fieldset label="Fonts" class="boxsize width_30 break padleft-20">
			<field type="text" name="fontfamily" placeholder="Mondale|Raleway|Alfa+Slab" label="Font Family" />
			<field type="textarea" name="setfont" placeholder="h1,h2 {font-family: Mondale;}" label="Set Fonts" />
		</fieldset>
		
		<fieldset label="Color Settings" class="boxsize width_30 break padleft-20">
			<field type="color" name="pagebgcolor" label="Background Color" />
			<field type="color" name="linkcolor" label="Links Color" />
			<field type="color" name="linkcolorhover" label="Links Hover Color" />
			<field type="color" name="bodyfontcolor" label="Main Font Color" />
			<field type="color" name="footcolor" label="Footer Background Color" />
			<field type="color" name="footfontcolor" label="Footer Font Color" />
		</fieldset>
	</fields>

</extension>

 

The output in the template list

All the existing templates will be listed but only those with the xml manifest file will show as configurable and display the developer data. There is a database table where the configurations per template are stored. If the template is not installed in the DB table but does have a xml manifest, it will show as not configurable but display a button to install.

There is also a method to easily make child duplicates of templates to customize without affecting the original.

template-tools.thumb.jpg.1b4e0da8caded356ceb9e4596c295bbd.jpg

 

The output in the template configuration

The values set in configuration are stored in the addon's template DB table and called via an additional new template file which has the exact name of the template folder. eg: six.php. The values are passed to the display files as Smarty variables via the smarty global wrapped in a function. eg: getSmarty()->assign(); The configurations are usually all CSS so most settings simply passed to the <head> as inline or written to css file.

templae-configuration.thumb.jpg.fb3ac7021aa856446ff798f21ec87990.jpg

Share this post


Link to post
Share on other sites

A video player widget has been added to the CMSE framework. It is easily inserted into any article, WHMCS page and serves the valuable purpose of user guide videos, sales pitches and more.

Add one or multiple videos to create a playlist and source videos from any server that permit video embed. Simply add the URL. The function will grab image and title from Youtube, Facebook, DailyMotion, Vimeo, Vevo, PornHub.

video-wdget-edit.jpg.b6af0816cd13e7ef62887298e7f89996.jpg

 

Output

video-wdget.thumb.jpg.2f39790123b41ad86930c4a0bfbd3c9e.jpg

Share this post


Link to post
Share on other sites

Added a product display widget that can be placed in any position on 1 or multiple pages. It can be formatted as grid or list view and with the layout shortcode system, the elements (title, image, text, price, add to cart) can be arranged to suit.

out-put-product-widget.jpg.3213fa8984fb34df9f35ff43e04f6aa8.jpg

 

The product image function is enabled via the CMSE addon's configuration. When enabled, a column is added to the tblproducts database table and the image field is inserted into the product configuration form. There is also an option to convert the plain text description textarea into a TinyMCE WYSIWYG editor.

cmse-configuration.thumb.jpg.98080f75a1715322c4ba5bd79d1c35c2.jpg

 

The new appearance of the product configuration form.

insert-product-image.thumb.jpg.bec5f697e0d1d6f8fafe7471173ca32d.jpg

 

A product detail page has been added at cart.php?gid=1&pid=2&page=productdetail and the formatting can be easily arranged with the element shortcode.  

[image]
[title]
[price]
[addcart]
[text]
[socialshare]
[facebookcomment]

product-detail.thumb.jpg.fa6d62dce5c94cb27026fe89a93d112e.jpg

Share this post


Link to post
Share on other sites

The menu manager along with widget manager and positioning object placed in a template, will allow for easy menu creation and placement of menu groups which will dynamically display added menu items.

foot-menu-module.thumb.jpg.b7fdf2ca9ef4f2c96ff3a108b25db90e.jpg

 

The menu manager showing the groups and the menu items assigned to each

menu-manager.thumb.jpg.4411d6f5d67320814719fd20742de497.jpg

 

The widget manager showing the menu widgets assigned to the foot in the order displayed on the front end.

menu-widgets-assigned-to-foot.thumb.jpg.684dec7bcdb0160c3814b8fb58c98d11.jpg

Share this post


Link to post
Share on other sites
20 hours ago, akust0m said:

I'd be interested in taking a look at this 🙂

You can test it at the dev location. See the first post in this thread for admin login details.

Share this post


Link to post
Share on other sites
Posted (edited)

The addon includes a modular version of the excellent Six theme. All the content on the home page are widgets placed in positions added to the template. This is just an alternative. The addon will function with any template in the default state.

  • logo
  • phone number and user menu
  • top menu bar
  • lead block
  • domain search
  • hosting packages from the products
  • other products
  • latest items from the blog
  • foot menu groups (each one is a menu widget)
  • copyright bar

The advantage of a modular template is the ease of placing content objects within one or multiple pages without the need to edit the coding. Each widget has options to define the output data or format. The widget system is "pluggable" so developers can create any content plugin and easily install, just as done in WordPress and Joomla.

page-top.thumb.jpg.fb1e31bad8d504c4a139b20974548d7a.jpg

page-mid.thumb.jpg.6c266c9e2e4e3e95d5541e4b548ec2aa.jpg

page-bottom.thumb.jpg.44c8df1726771a7b538f2fb9110832d5.jpg

 

The widgets in use

widget-positioning.thumb.jpg.256ddd21c6de84b0d7310a416c35f1c9.jpg

 

The lead object is merely HTML formatting with the custom HTML widget. The display formatting and styling are handled by css rules in the selected theme and the related CSS class added to the custom class field (bottom right in the image) for the widget setup.

big-banner.thumb.jpg.922dc9d2fab5ef59ae4a44f9adca1b63.jpg

Edited by NadalKumar

Share this post


Link to post
Share on other sites

An audio player system has been added for those who use WHMCS to sell music, audio books and wish to allow previews. It will play .MP3, OGG, RTMP streams, streams from any internet radio source.

Adding audio to posts is quite simple via the reapeatable fields. Just add URL

playlist.jpg.8e0f8e199bde67a137a5855145119eb8.jpg

 

The output can be fixed to the page foot or as an inline player, placed any where in the body via the [audioplayer] shortcode

audio-player.jpg.08b61dccc7f7e32c7022dbe65c147401.jpg

 

inline-format.jpg.d91c06f1d2b667426ba158b1f17f76b2.jpg

 

See it in action at http://websitedons.net/demo/whmcs/index.php?component=posts&amp;view=post&amp;category=2-march-madness&amp;post=17-the-ratings-favor-the-mighty-dukes&amp;menuid=5

Share this post


Link to post
Share on other sites

Display configuration fields have been added to the product group setup. They allow formatting flexibility for the group display and for product detail display. This puts the power of styling and formatting per product group in the operator's hands without the need for complex coding. Simply arrange the object shortcodes and add preset containers to align, hide on event, slide into view on hover and all kinds of effects that website owners just love.

product-group-configuration.thumb.jpg.73cd867db6394c1da5e5be6d654dac2a.jpg

 

The fields must first be enabled within the extension's global configuration.

global-config.thumb.jpg.addcf228caac074d6b90510ef5a181b6.jpg

 

The output

Grid format with images

grid-format.thumb.jpg.0cb591121d25e2346cca2d868776ec03.jpg

 

List format

list-format.thumb.jpg.989fd71bbf966a3bb8e9f96df915d9ca.jpg

 

The object shortcodes. Each area which uses shortcodes include the complete list. A shortcode onclick insert method is in development

[div class="boxsize width_30 break img-enlarge"] // the img-enlarge class wraps a fancybox anchor around the image
    [image]
[/div]
[div class="boxsize width_70 break padleft-20"]
    [title] // defaults to <h2> options are [title h1] [title h3] thru' h6
    [div class="padtop-20 padbottom-20"]
        [price] // show monthly or onetime
        [priceall] // show all price ranges
        [addcart] // buy now button
        [div][group][/div]  // link to product group
    [/div]
    [text]
[/div]
[clearall]
[socialshare] // display social share buttons as set in the global config
[facebookcomment] or [disqus yourId]

Share this post


Link to post
Share on other sites

A slide show method has been added to display within posts. It will slide any type of data, including embeds from social media, videos etc. See it in action http://websitedons.net/demo/whmcs/index.php?component=posts&view=post&category=3-fast-cars&post=9-wayne39;s-ride&menuid=5

slideshow.jpg.f6f1353dca27e658932df27d1b5be2f9.jpg

If not posting an article, It has shortcode support which will allow inserting slides into the custom html widget or product description.

Method

[slideshow]
    [slide]
    some words or image
    [/slide]
    [slide]
    more content type
    [/slide]
[/slideshow]

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated