EPiServer 7 (MVC) LinkItemCollection: add images to LinkItem collection? - episerver

I have a block which is going to display a LinkItemCollection. Each link has an image which belongs to it. Since clickable image isn't supported, I was wondering if anyone had a solution of how to couple the images and links together.
Maybe you could extend LinkItem and add an Url property to an image, any ideas?
This is EPiServer CMS 7 (MVC).

I'd go with a ContentArea property instead of LinkItemCollection, and create a block type with properties for specifying link, image etc. Then add one block per link to the content area.
That also makes it a lot easier to add/remove/rearrange links with drag and drop.

Related

How can you attach a content item as an element field of another content item via its authoring template?

Let's say I defined a IBM WCM authoring template called "AT-Image"; it creates content item "CT-Image" that contains elements such as an Image of type "Image", Description of type "Short Text", Keywords of type "Text", and other fields that serve as meta for that image resource.
Now, I need to create a content item called "CT-Article" based off from its "AT-Article" authoring template. Let's say that "Article" item has 3 elements: Title, Summary, and Image. Title and Summary are of type "Short Text". But Image needs to be of type "CT-Image" and not Image or Image component.
Is this possible Out-of-the-Box or is this something I need to implement myself via WCM API?
From my point of view you should use a menu component in the following way:
Let's assume you have got your CT-Image and CT-Article in a common sitearea called "MyArticle" like this:
MyArticle
CT-Article
CT-Image
Furthermore you need a WCM Menu component which uses two selection criteria:
current sitearea as location
CT-Image as authoring template
So then rendering CT-Article with a presentation template PT-Article you can reference the menu component. Therefore, you reference the menu component in the presentation template markup. The menu component then will pick up the CT-Image and render it as it is located in the same sitearea as your CT-Article.
That's rather a content design approach then a technical approach. It's all there out-of-the-box and saves custom development effort.
If I understand correctly, basically you want to create pre-defined images and then pick one of them to display when you create an article. Correct?
Well, the easiest way would be to utilize what WCM already gives you: create an Image Component. You will be able to upload the image and also provide a description, but you won't be able to set keywords or metadata. The workaround for this would be to set the keywords/metadata as part of the article. If that is okay, this would probably be the best way to do it.
By doing that, all you would have to do is select the relevant Image Component from your Image Element in AT-Article.
If you really need the images to be their own content items (rather than components) so that they have their own keywords and other information, then the next "easiest" way is probably to use an HTML Element inside AT-Article. In this HTML Element you will have to use the "Insert Tag" option, and then choose an Element Tag and use "Selected" rather than "autofill" or "current" to navigate to the content item that you want (the one with the image).
The code will look like this:
[Element name="[path]" type="content" context="selected" key="[element]"]
Where [path] is the path to the content item and [element] is the element that you actually want to pull from that content item (such as image, description, keywords, etc.)
context="selected" is the key there. Then you just need to set up your Presentation Template to be able to use this information that you are pulling in from the HTML Element.
WCM 8.5 has the InContext tag.
The InContext tag renders a tag body within a specified context. The new context can be specified as a predefined context by using a UUID, or by path.
For eg. in this case you can use below where key="Image" in InContext tag is the Link element to the CT-Image content item :
[InContext uuid="[Element context='current' type='content' key='Image' format='id']"]
[Element context="current" type="auto" key="Image"]
[Element context="current" type="auto" key="Description"]
[/InContext]

Drupal 7 - how can I control content layout in a view?

I've been handed a design spec which requires a news listing in a specific format - e.g. image floating to the left, with the main title and content on its right.
I've created the articles listing using the views module and embedded the view as a block on the front page. However, I need to change the layout of the resulting list of items at an html level, as the items are not provided in the order or within the html tags that I need in order to deliver the design.
In order to style the output, I really need the views module to give me fine-grained control over the html tags being wrapped around each field for each article.
Is this possible in Drupal?
(edit: please note, this is not a css question - I know how to float and position things in css. I need to be able to modify the html tags applied to fields in a view - thanks!)
When you go to your view, you will see FORMAT. You can change the Format to HTML list with corresponding settings. Under Show, you will say Fields. In the FIELDS area, choose which content you want enabled. Let me know if this helps, or if you want more of an explanation. Go back into your view and click on your field. The next window that pops up should be to configure that field. You'll see style settings where you can define the HTML tags, classes, wrappers, etc.

Drupal view Image link to a page of same content type in views

I have a content type called Realisation.
Realisation
Title
Body
Thumb Image
I create a Block View and a Page View
Page View
I display only Title, and the Body.
I setup the path url parameter as "/MyRealisation"
In the block view
I only show a list of Thumb Image.
I link my Thumb Image with the content.
When I click on my image, it's not using my custom Page View.
I Notice that the path is wrong. It show node/62 instead of /MyRealisation/node/62
Is there any reason ?.
Thanks a lot.
If you want have url each nodes like so site.com/MyRealisation/node/62
You need install module pathauto
Next you need go to admin/config/search/path/patterns and from this page write your templates for any node types

Why images not displayed in Drupal7?

I am using drupal7.12 cms. I have created menu. Menu have sub categories and i have inserted some stories. Issue is that, Images are displayed only on front page of site not on inner pages for that all stories.
If i set any of article to front page image will display for that article on front page. But when i want to read whole story it not showing image. Also when i click on any category then also it only shows text and alternative text for images.
I have stored all images in following folder "/sites/all/images/" Please help.... Thanks.
I am using JD Events template from http://www.joomlart.com/
It may be that you need adjust the display for your content type. Assuming you are using the article content type go to http://yoursite.com/admin/structure/types/manage/article/display and check the settings for your image field.

Drupal 7 add block of text to front page

I'm new to Drupal but I've found my way around it pretty easily. There's just one thing I haven't found out how to do, and it's so simple it has to be possible.
I created a template for the site's homepage as it will have a different layout (did it creating page--front.tpl-php). This page will display only the main menu, an image and a text of the company's mission statement. I've done everything but the mission text and I have no idea how to do just that: simply put a block of text there.
I know I can hard-code it on the HTML but I want my client to be able to change it eventually if he wants to, in a graphic way. I tried creating a content type but I can't remove the title field and some submitted info; I thought of using Views but it seems too complicated for what I need, isn't it?
The image I used is hard-coded on he HTML as I know it won't change, but maybe I should have created a view with both the image and the text? But then how would I get rid of the title field and submission info?
Can someone please suggest the best way, if possible, to do this? Perhaps I'm over-complicating.
Thank you.
The easiest way would be to create a region in your theme and then put a block into that region only on the home page.
In mytheme.info:
...
regions[front] = Front Page Text
...
In page--front.tpl.php:
echo render($page['front']);
Then in your blocks administration page create a block and assign it to the "Front Page Text" region with the content you want to output. You could also limit the block's visibility to <front> if you want to be sure, although if you don't output that region in any other template file it shouldn't make a difference.

Resources