Experience Editor custom functionality - sitecore

In some of our pages, we have a component that is a list of links. In Sitecore, this is stored in the following manner -
- Component data source
- list item 1
- list item 2
- list item 3
Right now the Sitecore users can only add links to the list by going into the Content Editor and manually adding a list item. This is not very convenient for users as they have to constantly switch between Content and Experience Editor.
I would like to provide a functionality in the Experience Editor itself which can allow users to add these link items using a layover type functionality.
I did a quick search and wasn't able to find anything concrete. Is there a way to update achieve this functionality?

You should create a custom WebEdit button which will allow to add children to your datasource.
You can read more about it here Sitecore Page Editor: Creating a WebEdit button

Related

Sitecore 8 Insert link to items in bucket

I am using Sitecore 8.1 and Glass mapper ORM. In page editor mode, I have a link field which can be linked to news article page. The folder structure is
News/News article. News folder is of type Bucket and article is bucketable item.
When I am trying to insert link from other pages to the actual news article I am unable to find search box or expand items under news. Is there any way I can insert link to the news article? Appreciate any help! Thanks in advance.
You have 2 options:
In the content editor in the view ribbon you can enable "Buckets". This will make all bucket items visible again (the bucket is expanded and all folders and items can be seen in the tree). This setting is taken into account in the "insert link" window as well.
Use the search tab in the "insert link" window (normally you should have 3 tabs (link, media items, search). The search tab will let you find the bucketed items as well, but also others - it is not restricted to a bucket.
Edit:
After trying this myself, I noticed that if you edit the link field within the experience editor the search is indeed not provided (not even with the general link with search field). In the content editor the search is present.
A workaround is option1, or use an EditFrame. But I would contact Sitecore Support as well and ask them to add this - I'll do it too.
Edit2 : issue has just been registered as a bug. If you need a fix without waiting for a solution in a future version, you can ask Sitecore Support.

Sitecore 8:Custom Dropdown List in RTE

I am trying to implement a custom drop list in RTE in Sitecore 8.The drop list on selection should just insert the associated value of the selected item from the drop list to RTE.
I followed the blog post at https://jammykam.wordpress.com/2014/06/17/add-custom-drop-down-list-to-rich-text-editor-in-sitecore/ and Custom RTE Dropdown in Sitecore 7.0 to implement this.However it does not work in sitecore 8.
Can you please let me know on how to achieve the same.
Thanks In Advance,
I just tested and it's still working the same in Sitecore 8 as it previously did in Sitecore 7.x versions, just as I previously answered and blogged.
Since the change is not showing up then there are some things to check:
Make sure you are editing the correct Rich Text Profile, there are several defined by default. Check your config for HtmlEditor.DefaultProfile setting for the default profile in use
Make sure your template is has not set a different profile to use. Check the source value of the Rich Text field on the template to make sure it does not override the default.
I can confirm this works in Sitecore 8 as I implemented the same thing following #jammykam's blog.
Double check your custom drop down is of template /sitecore/templates/System/Html Editor Profiles/Html Editor Custom Drop Down or /sitecore/templates/System/Html Editor Profiles/Html Editor Custom Drop Down Button
and your list items are of template /sitecore/templates/System/Html Editor Profiles/Html Editor List Item

Sitecore Page Editor Add New Page Inline

In my content tree, I have "Folder" items that have no presentation, but have all the insert options on them. How would you be able to use the "Insert Page" button in the ribbon to insert a new content item in the right part of the tree?
For Example:
I have my home page Content(Folder)/Home.item
All of my insert options are on Content(Folder), how do I add a new Home.item type without nesting it under Home.item?
In order to be able to use the Insert Page button, the item you are inserting under must have Presentation defined. It doesn't need to have components added, and I've worked round this before by simply define a "blank" layout and setting it on those items. Maybe create yourself a new template (inheriting from Folder) and then set Layout on that. But, this is a workaround at best. You can only "Insert Page" below the current page you are on, so you would essentially have to navigate to a blank page in order to create the sibling.
From what you have stated, it sounds like you may want to re-think where your Insert Options have been set and your content structure, i.e. why would you want create another Home item? Creating so will require set-up of another <site> and related config. You probably also want to separate those sites out with other settings, there is some good example of multi-site structure in this blog post. If you go down this route look into using Branch Templates. But, difficult to know what you are doing without context...

Identify page nodes that have specific layout controller

I would like to search all pages that have a specific(based on GUID) layout controller node. Is there a way to do this in Sitecore?
I am hoping to avoid going through all the page nodes and identifying the layout controller via the presentation detail. This would be a tedious tasks if I have to do so.
You can also go to the layout in sitecore and click on the "Navigate" ribbon and use the "Links" menu option. The Referrers are the items that use the layout.
You can use the Development Center for it.
Go to the Sitecore Menu -> Development Tools -> Developer Center
Then, Select Tools -> XPath Builder.
The query you need is like this:
/sitecore/content//*[contains(#__Renderings, '{A5437488-E6FA-42D3-B201-25D3CFE0A02B}')]
Find all items that contain a specific id on the __Renderings field.
The __Renderings is a field like any other. It stores the information about the layou, devices and renderings. That said, you can use Sitecore queries to find items based on it. See:

How to hide the list ribbon in XSLT List Web part in SharePoint 2010?

In SharePoint 2010, I have a custom list "Clients" on a site. On the home page of the site, I have added a Clients List Web Part. When I access the home page in a browser and click anywhere in that list, it displays the "List Tool" ribbon group which has "Items" and "List" ribbons. I do NOT want these ribbons at all when clicking on the list. How do I achieve this? Should I disable the click event on the list so these ribbons do NOT appear? How do I disable the click event on the list? Or What should I do to hide these ribbons when clicking on the list?
Basically I want it to behave same as content query web part. In content query web part, if you click anywhere in it, it doesn't show up any extra ribbons. I want the same behavior with list web part.
Thanks
Hitesh
One approach would be to follow the tutorial outlined in this blog post: Remove actions from the ribbon: SharePoint 2010
The end result is a UserControl that you can place on any page and "trim" (i.e. hide) certain portions of the Ribbon: entire tabs, or individual groups or buttons on the ribbon.
If you follow the prescribed solution from the blog, then you would add the following lines in your Page_Load event:
SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
if (ribbon != null) {
ribbon.TrimById( SPRibbon.ListTabId );
ribbon.TrimById( SPRibbon.ListItemTabId );
}
Additional ribbon element IDs can be found at:
As referenced in the CMDUI.xml XML file
As defined by public fields on SPRibbon (used in example above)
Of course, the downside to using this approach is that the particular ribbon elements you hide are hard-coded in the UserControl. To get around this, I used the UserControl as a basis to create a Web Part that allows you to define which ribbon elements to hide via a property. It works great and is generic enough to be applicable to many different scenarios.