Sitefinity displaying child items in an external widget template file - sitefinity

I've successfully followed the Sitefinity documentation about how to use an external widget template file and now I would like to use a repeater in the external widget template file to display the child items as described in the Sitefinity documentation about how to display child items in the widget template
Moving this to a external widget template file fails on the Repeater attribute DataSource as it is not a valid attribute.
I know how I would approach iterating the child items
IQueryable<DynamicContent> childItems = parentItem.GetValue("ChildItems") as IQueryable<DynamicContent>;
But I am unsure how I would get the selected parent on PageLoad. Any suggestions?

It's hard to be very precise with the limited example you gave. But if you get this this template from a listing of stab mic content you could grab the last part of the URL which is the urlname of the dynamic item and use
The manager to look it up the. Get the children. Or if your widget has a Guid property use thunder to create a
Designer to selected the parent item to display.

Related

Access lastMeasurement in HTML widget

I want to reference the last measurment of a device in a HTML widget.
The page https://www.cumulocity.com/guides/users-guide/cockpit/ give samples to access these.
My attempt to show the TemperatureMeasurement doesn't return a result:
{{devices[391].lastMeasurement.c8y_TemperatureMeasurement.T}}
This is currently not possible from the HTML widget. You can only access the data inside the managedObject from there.
Maybe try using the SCADA widget for that and create your custom content as SVG instead of HTML.

Image slider link to internal or external page on Sitefinity

(Sitefinity 6.x)
I am trying to create an image slider where each image in the page links to an internal or external page. I created a separate library for all the images that I want to show on the slider then using custom MVC widget I display the images in a slider.The problem that I have is there is no place in the image where I can link the image to open an existing internal page or external website.
Is there a way to add a properties to the original Image properties? so that users can select a page (using some sort of page selector just like in the navigation widget) or type in external page to link. If that is not possible, could you give me some ideas how to implement this?
I've been creating image rotators using Module Builder in Sitefinity. What you could do is go to Administration -> Module Builder -> Create a Module, call it Image Slider, call the content type Slide. Add a couple fields, for the first call it Image and select Media for the type, this will use an image selector for the interface, then add another field called Link and use Short text for the type, this will hold the url. Unfortunately, Sitefinity doesn't include a Page Selector control as an available field yet so a text field will have to do. Save and activate your module, it will show up under Content -> Types of Content. Go ahead and add a few slides. Sitefinity has created a couple of widgets when you created the module, so if you edit a page, you'll see them under the "Content" widget section, probably at the bottom. Drag it on the page and set it to use the list template. Now open up the Sitefinity Explorer window in their Thunder Visual Studio plugin, under Common Widget Templates, you'll see an Image Slider folder, you'll want to edit the list template since you'll be outputing all the slides into some carousel markup or something. From here you can use the default Sitefinity image control and bind the link to a hyperlink that wraps the image control, this will link each image to whatever is in that field.
Hope that helps.

jQuery Mobile does not process elements in Partial View

I'm converting my site from using jQueryUI to jQuery Mobile, and I'm having some trouble.
I have a page that lets users add new timesheet entries. They click the "Add" button and it retrieves a Partial View from the server right onto the page.
The problem is that jQuery Mobile is not applying to any of the elements in the Partial View.
How can I force jQuery Mobile to process my elements after they've been inserted into the page?
The short answer is that you can just trigger the create method on the parent element of where you inserting your partial view.
For example $('#container').trigger( "create" );
Alternatively most widgets can be manually initialized by calling them on the element, for example for a listview: $('#myListview').listview(). This can be useful if you have only a few elements that need to be enhaced and you don't want to traverse all the child elements of the container. You should also know that for many widgets there is also a refresh method which you can call if you add elements to it after it has already been initialized for example $('#myListview').listview('refresh).
Also have a look at the following Q & A from the JQM docs which deals with this issue and for an explanation as to why it is necessary to call these methods.
Question: Content injected into a page is not enhanced.
Answer:
jQuery Mobile has no way to know when you have injected content into a
page. To let jQuery Mobile know you have injected content that must be
enhanced, you need to either make sure the plugins are called to
enhance the new elements or trigger("create") on the parent container
so you don't have to call each plugin manually.

Custom List Template is not being pulled by SPSite.GetCustomListTemplates()

I am adding custom lists programmaticaly from a custom template. I check to see if the custom list template exists, and if not I create the list template by creating a list and then saving it as a template using the SPList.SaveAsTemplate() method. However, during the same timer job, I try to get the list template, but it doesn't show in the SPSite.GetCustomListTemplates() method. It does however show in the UI under the List Template Gallery. Any idea as to why it would show in the UI but not be returned in the method call?
Read my answer to this question. With that you should get a result from GetCustomListTemplates instead of just an empty list.

How to query the data from content type without using content query webpart in SharePoint2010.How can i?

I want to query the data from content type without using content query webpart. How could I do this?
My scenario is, I have a page layout, from the page layout I have created a page that contains some site columns values. After clicking on the save button I need to update the field in the page library column. How can I query the data in item updating event of the Site Pages Library.
Any help would be appreciated.
The ItemUpdating event method is passed an SPItemEventProperties parameter named property. This object contains information about the item responsible for firing the event handler. You can access this by calling properties.ListItem[Fieldname] or properties.AfterProperties[fieldname].
Something to note. The value of the SPItemEventProperties.BeforeProperties and SPItemEventProperties.AfterProperties as well as the properties of the SPItemEventProperties.ListItem, varies depending on the Event you are overriding and the type of SP List (List or Document Library). This chart shows these relationships.