Kentico 10 Link to existing page feature - templates

Is there any way to force Kentico 10 to adopt a certain template when I link to another page with a template of a type I do not want?
An example would be I have a folder of CTA's. I want one of these CTA's to link to a page that uses the template "genericTemplate" but I would like the linked page I just created to be of template type "nonGenericTemplate".
The reason for this is that "genericTemplate" does not have the fields I am looking for and I would prefer to not force people to input field data in two places ("genericTemplate" and "nonGenericTemplate")

I maybe misunderstanding what you mean by CTA; to me it's a link that a user can click on.
I don't believe that Kentico puts the field on the Page Template object, but on the Page Type object. The Page Type reflects what can be stored against a page, the Page Template reflects how the page looks.
When you create pages in Kentico you can assign a default Page Template to a Page Type in the administration interface; it's in the New document settings category of the Page Type interface called Default page template
If it's Page Type you meant, you can change the administration interface itself to only display fields when certain criteria are met. You could write a macro too, if the logic is quite complex. You can do this against a field itself or if you've got linked classes you can do it against the whole group. That way, you'd only need one Page Type to cover all eventualities.
John

Related

Drupel 7 - How do I add an additional page template as a choice to the add content list?

In Drupal 7 when I go to add content I get a list of templates to choose from:
Article
Basic Page
Panel
Lets say I want to create a custom 'page' template (for what ever reason) and have it show up as a choice in this list. Example:
Article
Basic Page
Panel
Crazy Page
Like how individual pages can be set to use a specific custom Page Template in Wordpress. How would I do that in Drupal 7?
You would create a new content type under structure > content types. There you could add whatever fields you are needing, and also manage the basic display of nodes. A content type is the structural definition, a node is the created content page.
More detailed information here:
https://www.drupal.org/docs/7/nodes-content-types-and-fields/create-a-custom-content-type

umbraco 7 page displays wrong template

I use Umbraco 7.2.1
I have a document type called News with allowed 2 different templates: News (default) & Projects
I create a page and choose Project template for it. And it displays News template instead.
I tried the following to see what's wrong and came to nothing:
I set up a new page and choose Projects template - the page displays News template instead.
I changed the default template for this doc type to Projects and set up new page with different title - the new page still displays News template instead of default Projects.
It is not logical. Tried to refresh the cache but the problem persists.
I ensured the template is correct and it displays as such in the CMS as well.
I have another doc type which uses different templates and have no problem with that. Only with News/ Projects templates.
Completely not logical..
You will need to check the structure on the doc type to check if both templates have been allowed to the News doc type. Typically when you create a new document type, only one template will be assigned. Alternatively, go to content, click on the properties tab and down the bottom you will see template. You should have dropdown enabling you to select which template you would like to use.

Multiple item templates in Grid App

I'm developing a Windows Store application based on the Grid application template. Upon creating a new project, there is some sample data generated for the application. There are only three pages in the app: home, grouped items, and item details.
I'm wondering whether it's possible to have different templates for item details, and if so, how.
For instance, I have a group containing a list of smartphones and another group containing a list of printers. In the smartphones item details template, I'd probably have fields such as "Memory card", "Speakerphone", and "Operating system", whereas in the printers item details template I'd have fields such as "Speed", "Accepted cartridges", and "Paper sizes".
How should I go about adding item detail templates and using the correct one depending on which item is viewed? I've looked at http://babaandthepigman.wordpress.com/2012/02/08/datatemplateselector-winrt/ but that seems to be for XAML applications only. I'm not using XAML/VB/C++/C#, but JavaScript and HTML5.
To be clear the three pages in the grid project template are groupedItems (the "hub"), groupDetail (the "section"), and itemDetail (the "detail"). I actually wish they would have named those pages "hub", "section", and "detail".
If you're talking about having multiple item templates so that item tiles on the hub (groupedItems) page look different depending on the item type, then the easiest way is to provide the multiple item templates (WinJS.Binding.Template) in the HTML and then write a custom template selection function. It's not that difficult. You can see an example if you look at my codeSHOW app (codeshow.codeplex.com)... see the home.js page. The source is online, so you can see that page here.
If you're talking about having multiple detail (itemDetail) pages so that when a user clicks on a certain item from the hub, they might be taken to a whole page of information about a phone versus a printer, then that's simply a matter of having multiple pages and being intelligent about which page you navigate to. If the user clicks on a phone from the hub, then you navigate to /pages/phone/phone.html. If they click on a printer then you navigate to /pages/printer/printer.html.
Finally, if your entities (i.e. phones and printers) are similar enough, then you may want to keep a single page to represent them, and just make that page smart enough to modify its template for the right item. In that case, you can create two templates on the page (WinJS.Binding.Template again) and when the entity is passed in to the page (the 'options' part of ready(element,options)), you just inspect it and look at the entity type (i.e. phone or printer) and then render the data into the right template. The Binding and Templating and Fragments and Pages demos on codeSHOW may be helpful there.
If you want more help, you can schedule some 1 on 1 time with a Microsoft Developer Evangelist at usdpe.ohours.org. Have fun!

Selecting a datasource item for preset components

Before digging into my explanation i will summarize my question:
How do I provide the user (editor) with a user-friendly possibility to select a datasource item for sublayouts that are preset on the standard values?
My situation is as follows:
I have a page template, with pre-defined layout on the standard values.
Let's say the layout consists of:
one placeholder "wrapper"
one sublayout "content"
This sublayout is pre-defined on my page template, but can also be placed in the placeholder using the Page Editor.
It needs to have a datasource item that defines a Title and Body value.
Now, if a user adds this sublayout to the placeholder using the Page Editor, he will get a nice interface to select or create the datasource item (see screenshot).
However, if the sublayout was pre-defined on the standard values, it will be added without datasource (I can't pre-set the data source in the standard values because it's still unknown by then).
At that point there seems to be no way to get to that nice interface for selecting or creating a datasource item.
Ideally I want to be able to add a field to my template that can hold a datasource item which the user can select/create using the nice interface. I looked at the datasource field type, which could be an alternative, but it's still not exactly what I want.
Bare in mind that the content sublayout is just an example.
I understand that in that specific case I could solve it by always adding a title/body field to the template which hold the values if there is no datasource, but for my real world problem that won't suffice.
I don't have a whole lot of experience with the Page Editor (with the new way of working with it) so I would like to get some advice on this subject.
According to what you said here:
Ideally I want to be able to add a field to my template that can hold a datasource item which the user can select/create using the nice interface. I looked at the datasource field type, which could be an alternative, but it's still not exactly what I want.
It seems you want an intuitive data source selector interface in the CMS shell similar to the Page Editor-based UI.
Quick answer: Simply put, there's nothing that does this for you in Sitecore.
Longer answer: There are still some options for you, e.g.
Define a global "dummy" data source and set that to be the data source set in in Presentation > Layout Details of the template's standard values. So every time you create a new page, it will always point to that dummy value to show something.
From here you can do a few things:
If the user must use the shell UI and not Page Editor, they can simply create another data source item for the specific page and update that page to point to it using the existing native interface in Layout Details.
Another option is to write an event handler, say for item:created or similar that when you create an item, auto-create a corresponding data source item for this specific page (whether this auto-created item be a sub-items or global item...) then programmatically set this to be the data source. A similar concept is shown in this video by Nick Wesselman: http://www.techphoria414.com/Blog/2012/May/Sitecore_Page_Editor_Unleashed

Joomla Template Overrides

In joomla, I need to assign specially designed templates for both "User Edit" (Where user edits their details)
/index.php?option=com_user&view=user&task=edit
and "Search Results"
I can't for the life of me work out how Joomla is selecting templates now. Certainly ItemID's aren't obvious and template overrides aren't giving any clues.
Currently Search is defaulting to the site 'home page' template, and the user edit to the 'default' template.
I don't think it should matter but we are using jfusion.
Can anyone point me in the write direction
Thanks
Stephen
Templates in Joomla are assigned to different pages (via menu items) under Extensions > Template manager. The default template (with a star) is assigned to all otherwise unassigned pages. For the other templates, click the name and choose the pagesto assign it to.
If you don't have menu items assigned to the pages you mentioned, you can create a new menu called "hidden menu", make the menu items there, then link to those menus.
I think you're getting terminology mixed up though. "Template overrides" are files that reside in each template that override the default content output. There's only one set per template - if you want multiple template overrides you need multiple templates.
template over rides are stored in the templates folder.
so if you are using teh template called "beez" (comes stock standard)
the template overides are in :
templates/beez/html/
they are then stored under the module or component name. eg the article layout for com_content is stored in:
templates/beez/html/com_content/article/default.php
the template is usualy called default.php, but each component and module can have a few extra templates that they use as well as deafult.php
Now you are asking to change the "user" view for com_user when editing
I think that location is:
templates/beez/html/com_user/user/form.php
if you ever want to find the origanal template which is to be overridden in this case: template that would be in:
/components/com_user/views/user/tmpl/form.php
so in general
templates/templatename/component_name/view_name/template_filename.php
Lets try ::
/index.php?option=com_user&view=user&task=edit&template=template-name
parameter template comes from /includes/application.php:311
// Allows for overriding the active
template from the request
$template = JRequest::getCmd('template',
$template);
Hope it will work :-)