Creating 2 com_search menu Items in joomla - joomla3.0

I have 2 separate modules for search in joomla ... I want to create 2 com_search menu items and change based on which page these modules are called.
How do I get this to work with / without programming..

If you have already made two modules you should be able to edit each one in the Modules Manager and choose which pages it loads on.
Say you wanted them to both load in the same position, you could tick the homepage for one, save and close it, then open the other and tick all the pages but the homepage. This way when you looked at the website one search box would show at a time.

Related

How can I create a 2sxc app that has a listing and details that open in a modal?

I want to create a 2sxc app that has a listing of items. When a user clicks on an item, it should open the details view in a modal window.
However, I don't want to simply load all items into the page and have a JS open the modal. Ideally, I would want the modal to load the content only when it's called. Also, ideally the URL would still in place similar to how there's a listing and details templates in an app.
Is this possible?
Yes, this can be done :)
It basically needs 3, optionally 5 steps
Open a DNN page without a layout
(optional) make sure only your module will be on the popup using mid=... parameter
Make sure you add the id/name-id/guid of the details in the link such as post=...
Create the razor view which shows the details, ensure it appears when the parameter is added
(optional) Create different urls for google / user so user sees the popup, google indexes a real page with the details view
1. Empty Skin / Layout
The trick is to open the page using the DNN parameter to either switch to the layout-free skin (print), or to another custom skin. This allows you to start with an "empty" page without stuff around it. Either use popUp=true in the url (the Up must have an upper case U) or a skin parameter to choose another skin
2. - 4 MID, url-parameter, name in url to select view
This MID is common - if you have mid=... DNN will not load any other modules on the page.
Same with the named url parameter for the details-id and view switching, so I won't document this in detail.
5. Different details for Google vs. Interactive
In case you want google to index the details view, that would probably want the indexed page to have a layout. So create a link to the details without the special popup, and on-click only change it to open the link with the popup feature.

Creating an index page automatically

I'd like to have dotnetnuke build an index page based on pages that have a particular tabid. Are there any modules that do this already?
e.g. we create multiple pages under /News and then the index page lists links to all the news articles. Would be handy if we could also enter our own HTML text (maybe on the News article page itself) that is then displayed next to each link on the index page.
Thanks!
By default, there are no 'real' pages in DNN. Everything is served up in the Default.aspx from content that is stored in the database.
What you could do is create a module that populates data based on the TabId or Path. Then, there is a setting in DNN to make a module appear on EVERY page. Since the module is on every page, it could populate its data based on the TabId or the path, or just not show anything if it doesn't match your criteria.
For something like that, I used a module called SQLGridSelectedView from www.tressleworks.ca (I have no affiliation) and I wrote my own SQL to fill in the fields, and I defined a custom layout (instead of the default data grid) so I was able to do something like what you are asking without code.
There is a module from Ventrian called Child Links that does what you are talking about. You can use it to grab title & description from the pages below a relative to a specific page to build out menus etc.
It allows for formatting however you want as well.

Display content from sub pages

I would like to make sub pages under and existing page. Lets say the page is "Success Stories" and under this page the user can enter in other pages and format them any way they want. What I need is a way to make a repeater of all these subpages with stuff like the page title, a little bit of the content, and a button that links to the actual page.
Is this possible out of the box? I am willing to buy a module if it is reasonable;however a Google search returned no results.
Thank you.
The best option I know is Child Links from Ventrian.
You can show all children with title and description & links. (NOTE: description is Page description NOT content from the page.)
what version of dotnetnuke are you using?
Two options:
ONE
There is a copy page function where you can choose what modules and setting to copy to the new page.
Under the pages menu - click copy page
then you can select what page to copy from, and then it will list all modules on that page. You can choose to copy the module with or without content or even reference the module on the source page.
TWO
Other than that you can create a page template that a user can select that is pre-designed by you. Create the base page the way you want it and then click export page under the page / edit page menu depending on your version. A template will be created in your portal template folder that can be used when creating new pages.
If you are looking to automate this process, then you will have to look into a custom module or design a sql script you can run yourself (but this is a lot more maintenance as it can change with every version.)

How do I tackle ordered text widget on multiple pages in cakephp

Hey guys. so I'm not quite sure how to tackle my next big problem in this project.
I want to create an admin interface which allows my client to create a dynamic menu page for the food and drinks. Basically, I want him to be able to enter a short paragraph for the top of the page, and then 2-6 widgets that he can drag and drop onto the page. This menu will then render under owlhouse.com.au/food. I figure it'll be something to do with associations, but I have no idea how to construct a function which attaches dynamic data to the page on the fly.. and keep it in the layout the client wants (2 columns, diff modules for beer, wine, etc.)
HOW ON EARTH DO I GO ABOUT THIS?
thankyou,
~Harley
Dynamic Data
Build a "CRUD" interface that the client can log into. (Think blog entries). Store the content in the database (of course). Then provide a drag & drop interface that allows the client to order them, assign them to pages, or whatever is needed to meet the requirement. When the client clicks update, you simply add/remove IDs to the content for the given page. When the page loads (like a blog page) it loads the content for the given IDs.
Widgets
The same would apply for widgets. I would build an element that provides the basic layout for the widget. Then build it the same way as the content. The client will have CRUD functionality with drag & drop interface to show which widgets are displayed.
Send me a PM if you need to hire someone. ;)

dotnetnuke: can we create a master page?

Can we create a content managed master page in dotnetnuke?
eg. I want the right pane and bottom pane to be content managed, but to show the same thing across all pages.
Thanks
What you are describing is essentially what DNN calls a Skin.
A DNN skin is actually just an ASP.NET user control (ascx) that dictates page-wide or site-wide look and feel, which offers developers the same functionality as a Master page, except that it ties into DNN-specific elements and uses some DNN-specific user controls, such as menu/navigation, logo, breadcrumbs, login/user account links, etc.
Now, in order to add the ability to provide content management capabilities site-wide, you specify an area in your skin to place a module (let's say, a Text/HTML module). This area is called a pane. Once you add a module to this pane, in its settings you can tell it to appear on every page. This way, the module can be edited on any page, and its changes will be reflected on all pages automatically.
Check out DNN's site, as it contains a TON of documentation on how to do many common tasks: http://www.dotnetnuke.com/Support/Documentation/DownloadableFiles/tabid/478/Default.aspx. Under the Technical Documentation section, you'll want to grab the Skinning document (I believe it's a PDF).
DNN Modules can be set to appear on all pages by checking a checkbox in the module settings. However DNN does not use the concept of a Master Page. It injects modules (user controls) in containers on a single aspx page at runtime.
A Master Page would be a great addition to DotNetNuke you cannot replace content in a single area of the page. The whole page refreshes. For example if you have a menu and you only want the content of what you select to appear in a specific content area without refreshing the rest of the page you have to resort to third party modules that attempt to do that but usually fail. There are 'module wrappers' but all the ones I've tested have issues with modules that allow the user to edit content. Edit screens are usualy different user control files (ascx) that are launched when you edit the module content. Since the page refreshes with the new page you have lost your place. Those module wrappers work fine for static content and some other controls but not for all controls.
IFrames can be used (DNN has one) to trade out content but that doesn't get rid of the probelms mentione above. I'm heavily invested in DNN, running the UCanUse.com web site so this isn't a slam on DNN. I just thought I'd try to answer the quesiton with detail.

Resources