How to add an external link under a page in Kentico? - asp.net-mvc

We’re using Kentico 11.0.26 with MVC.
I need to add an external link under a page.
In content tree it should look something like this:
Page A
Page A1
Page A2
https://www.www.google.com/
The problem is that when I click the + button in Pages application, I only see page types, and there is no option to add a link.

Why not use value of page field to store the link and load the value inside of MVC app? Content tree alone does not have capability for this. All nodes have to be pages in one way or the other and plain old link to external domain can not be placed instead of page. To be honest I do not see benefit of having a link inside of content tree even for menu since you have to create menu using document path and not only its name anyway so accessing additional property should not be that much of a problem.

You could create a new content type to represent an external link and put that into your content tree. This would then also give you options to set additional properties of the link such as target and title rather than just a URL.

Related

how to use the global search in watson explorer application builder

I am new to IBM Watson Explorer's Application Builder component.
I able to create some widgets and place them on a page, but I am not able to figure out how to use the global search bar in the page header.
I want to search for something using the global search and the data in the widgets on the page should be updated.
Tried reading the knowledge center docs, but not able to get much info.
For making use of the global search, you may want to understand, where the data for that resides.
The Watson Explorer Engine is where you ingest your documents by creating a search collection and by adding them as seeds and then once that is all set up and you are able to see your data there, you can now switch over to the AppBuilder.
Link (Creating a search collection): https://www.ibm.com/support/knowledgecenter/en/SS8NLW_9.0.0/com.ibm.swg.im.infosphere.dataexpl.engine.tut.auth.doc/t_vse-auth-tut-create-display.html
Tabs on admin page of AppBuilder look like this: Image Link: AppBuilder tab header
Once on AppBuilder admin dashboard, you might want to create a new entity by going to the entity tab, located at the top of the page.
Then you can name it whatever you like and from the dropdown select the collection name you had created on Watson Explorer Engine, toggle the searchable button on in the entity page and once done click on save at the bottom of the page.
Link (adding backend and entity creation): https://www.ibm.com/support/knowledgecenter/en/SS8NLW_9.0.0/com.ibm.swg.im.infosphere.dataexpl.appbuilder.doc/c_de-ab-devapp-tutorial-integrate.html
Then you may want to head over to the layouts tab and then go to the search page there, then drag the search results widget to the pane below and save it.
Layout tab - search page, looks like this: Image Link: Layout tab - search page
Layout tab - search result widget on search page, looks like this: Image Link: Search result Widget
Finally after all this, when you search for the document from the search page "/AppBuilder/search", it should show up there.
Tutorial WEX AppBuilder Resource: https://www.ibm.com/support/knowledgecenter/en/SS8NLW_9.0.0/com.ibm.swg.im.infosphere.dataexpl.appbuilder.doc/c_de-ab-devapp-tutorial.html
Hope this helps.

Piranha CMS existing models and Piranha Menu

I cannot seem to figure out how to add my preexisting pages to the auto navigation menu that Piranha generates when I call #UI.Menu().
Currently, I am using the method described here under Getting the Models to pull CMS content and display it above my model data. I can successfully render the page with Piranha content, but I'm not sure how I can have this page display in the top navigation.
Alternatively, I can pull my data and display the CMS content by creating a new page type, but this means the page type is only ever used to display this single page. It shows up in the navigation generated by #UI.Menu(), but if I continue using this method, I would need to create an additional piranha controller for every Action.
My main objective is adding CMS functionality to my custom MVC project and have everything display in an automatically generated navigation with #UI.Menu().
If you want to add pages in the menu that aren't really controlled by the CMS add a single page type for them, for example "Application Page". Then check the documentation for page types under section 2.5 here http://piranhacms.org/docs/pages/page-types.
If you check the checkbox to allow pages to change the route you can specify the route on each page of this page type. This means you can add your application pages into the structure and the add the route to your controller/action.

Fine control over Joomla URLs

I would like to convert my existing website to Joomla. However, I need finer control over URLs than I seem to be able to control with Joomla. Assuming that Joomla is installed in the base public_html directory of my user, I would like these pages to keep their URLs:
http://dotancohen.com/howto/rtl_right_to_left.html
http://dotancohen.com/eng/genealogy.php
http://dotancohen.com/heb/contact_info.html
I am aware that I could use a 301 redirect via .htaccess however I would prefer to actually configure the canonical URL of the page. Is this possible in Joomla or with an extension?
Unquestionably, the defacto standard extension is At http://extensions.joomla.org/extensions/site-management/sef/10134. It's highly configurable, well supported, and ver well rated.
In Joomla! 2.5 you can use the built-in Redirect component to catch old URLs and send them to the right content without fiddling with the .htaccess.
You can also create menu's and menu items that will match the old paths then all you need is to place the content of your .html files into suitable articles. Remember you can create a menu (and thus a path to the content) but not display the menu anywhere on the site.
The genealogy.php appears to be a separate application so you can approach that by doing two things, first have a /eng/ directory on your new website with the genealogy.php application in it that way it will have the same URL. Then if you want to create a menu item in a Joomla! menu then you can link to it using a menu item of type 'External Link' - you can read more about the menu types by clicking on the help button in the toolbar.
[EDIT]
For external pages if you want to wrap the external application in your template use a menu item type of Iframe Wrapper this will place them in the main component area of the template. With a good Joomla! 2.5 template you can use a template style specific (i.e. layout settings) for that page.

Stop Umbraco form stealing internal links

Sometimes I want to write the entire link to a page, which can be good if in example a visitor wants to print the page or just copy the url from the web site. The thing is if I write http://www.mysite.com/licensing/terms ubmraco cuts that and removes the http://www.mysite.com, both from the link it self and from the text.
Ie
/licensig/terms
What i want is that it should remain as
http://www.mysite.com/licensing/terms
It does not matter if i write the link in the source editor, if i write it in the html source editor or if I use the link tool in the rich text editor.
Anyone know how to fix this?
Use umbraco.library:NiceUrlFullPath($currentPage/#id) in your XSLT to get the full domain and protocol included in your URL, or umbraco.library.NiceUrlFullPath(Node.GetCurrent().Id) in a usercontrol code-behind or binding.
HTH,
Benjamin

Clicking relative link goes to about:<relative link> which does not show wanted page

I am using version 14.67.9 of TembeddedWB in a project in delphi 2007. I use TembeddedWB in combination with loadfromstring. That all works like I want it to but when clicking on a link in the page it goes to a page I am not expecting. If for instance the page is on a particular IMDB result site and one clicks on the link the browser goes to about:/title/tt1041829/. I guess I forgot to set some extra property or I am doing something else wrong. If somebody here can point me in the right way i would appreciate that.
It looks like the browser's current URL is not updated and the default "about:blank" is used. I guess this may happen when you don't navigate to the web site directly by Navigate or Navigate2 method but load the HTML from a local file or stream.
Edit: I see, you are using LoadFromString which confirms that.
In that case, it should be possible to use OnBeforeNavigate2 event to fix the URL.
The problem is that the web page you are accessing uses relative links and the reference point that it would be relative too is your loadfromstring which loads through the "about:blank" page. Another way of fixing this would be to inject a &LT;BASE href="http://www.originaldomain.com/originalpath"&GT; tag in the HTML header (between the &LT;HEAD&GT; and &LT;/HEAD&GT; tags) which points to the location the page was accessed from. This will tell the browser where relative tags start from and will fix the problem without requiring inspection of every link.

Resources