This is a part of my series The New Features of 2sxc 7 and introduces you to using SQL-Data from DNN in the Visual Query to Re-Template / Re-Design any DNN-Module. In this case I prepared a demo using DNN Events.
So Imagine you have DNN Events and you want to customize the output - either to
- Create a very special design requiring conditions (if ... else ...)
- Using additional functionality like Gravatars or something which the default templating doesn't provide
- Add additional logic like Video-Parsing, view-counting
- Use DNN-Events-Data in JSON for animated output in jQuery, knockoutJS or AngularJS
This Concept Works for All Modules
Remember that this is just a simple demo and will focus on DNN Events. But in general it can be used for any kind of module.
The Basic Principle
In general we always use the following pattern to visualize 3rd-party data:
- Request the data from SQL using the DnnSqlDataSource
- Optionally provide various parameters - either from the URL (to create lists showing items based on a category or similar) or from Module-Settings (so that the editor can say things like "Show all events here which I created")
Get the Demo-App
To show all this I created a simple App for you. Download it here. It shows many functionalities like:
- Visual Query using the DnnSqlDataSource
- Using Tokens in Queries (both PortalId as well as Url-Parameters)
- Using editor-configuration to affect queries using the In-ValueProvider (that's where the content-editor says "Show Events of Module X"
- Templating the results with Tokens
- Details-View which automatically get shown when the word "Details" appears in the Url
- Accessing the list of queries in Razor
Give it a Try
Download, mess around, have fun!
With love from Switzerland,
Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in
Switzerland and Liechtenstein, an 20-head web specialist with over 600
DNN projects since 1999. He is also chief architect of 2sxc (2SexyContent - see forge), an open source module for creating attractive content and DNN Apps.