How to add image to blog in summary of orchard cms - orchardcms

I want to add image to the summary of blogs in Orchard CMS. How do I add it to the summary?

Use Placement.info. In your theme's placement.info add something like this:
<Match ContentType="Blog">
<Match DisplayType="Summary">
<Place Fields_MediaLibraryPicker="Content:1" />
<!-- Or: <Place Fields_MediaLibraryPicker_Summary="Content:1" /> -->
</Match>
</Match>
See this source code to see which shapes are available for this.
Note: I am assuming here that you are using the media library picker field to attach an image to your blog. If you use something else, you should use that shape.

Related

Add Thumbnail / picture on the blog list summary orchard

How do I add image / thumbnail before the blog summary using orchard cms?
Please give step by step instruction because I'm still new using this cms
i already tried this technique but still not working
Thank you
I would suggest that you enable the shape tracer module in Orchard, this will assist you in understanding exactly what is being pulled through on the customer view side of things.
Read more about it here:
http://docs.orchardproject.net/en/latest/Documentation/Customizing-Orchard-using-Designer-Helper-Tools/
Firstly when you are editing your Placement.info file, it does not always pull through immediately, I find that you have to recycle the application pool in IIS for the specific site.
Also get a better understanding of placement info here: http://docs.orchardproject.net/Documentation/Understanding-placement-info
Secondly you need to understand the order in which elements are being loaded before you change any placement of it.
I followed the following steps:
Created a blog called 'blog'
Edited the Content Type called 'Blog' and added the a field called 'image' as a 'Media Library Picker Field'
I viewed the '/blog' in the customer side and inspected it with 'shape tracer'
I found that the detail view was loading for the blog description/summary;
The 'Parts_Blogs_Blog_Description' which is the summary was loading in 'content:before' by default;
The 'Fields_MediaLibraryPicker' was loading at 'content:after'
So, in this case you will have to change both:
If you had to place both in 'content:before', then Orchard would still not know which one to put first. This is what you need to put in your placement.info file:
<Match ContentType="Blog">
<Match DisplayType="Detail">
<Place Fields_MediaLibraryPicker-image="Content:1"
Parts_Blogs_Blog_Description="Content:2" />
</Match>
</Match>
If you want to do this for Blog Posts, you will do it exactly the same. But just refer to the blog post content type. The 'Media Library Picker Field' was called 'Images'. And you have to change the 'Part_Common_Body' placement.
<Match ContentType="BlogPost">
<Place Fields_MediaLibraryPicker-Images="Content:1"
Parts_Common_Body="Content:2" />
</Match>
To remove the Title and metadata from the images selected:
<Match ContentType="Image">
<Match DisplayType="Summary">
<Place Parts_Title_Summary="-"
Parts_Common_Metadata_Summary="-"/>
</Match>
</Match>
Also make sure that you selected images for the blog and blog posts. The Placement.info file can be found in your theme folder.
This was done in Orchard 1.10.2. I do not know if this will differ in other versions.
You should use the build in MediaLibraryPickerField as described in the second answer, but in your case for the Blog instead of the BlogPost:
Attach a Media Library Picker Field to your 'Blog' content type
Edit your theme's placement.info and include something like this:
<Match ContentType="Blog">
<Match DisplayType="Summary">
<Place Part_Image_Summary="Content:before" />
</Match>
</Match>

Remove metadata from List item with placement.info in Orchard

I created two content types, Foods with the containable part, and Colors with the container part. I created a list of colors that contain foods inside them following Bertrand's example here: http://weblogs.asp.net/bleroy/many-ways-to-relate-orchard-things-part-3-lists
Example:
green: avocado, kale, spinach
red: strawberry, raspberry, ketchup
On the page for "green" and "red" I am trying to remove the metadata. I tried this code:
<Match ContentType="Food">
<Match DisplayType="Summary">
<Place Parts_Common_Metadata="-"/>
</Match>
</Match>
And the metadata was still there, so I tried this code to make sure I didn't have any typos:
<Match ContentType="Food">
<Place Parts_Common_Metadata="-"/>
</Match>
Again, the metadata was still there for the list view pages, but as expected it did remove the metadata from the display view pages.
I am able to remove the metadata through a Content-Food.Summary.cshtml but I know the preferred method is to use the placement.info file.
Is this possible? If not, is it a feature or a bug?
There are two different views for the Metadata, one for the summary and one for the detail. This is good because it means you can customize how the metadata is displayed in the summary vs the detail, but slightly confusing when you are starting out.
So all you need to do is use this:
<Match ContentType="Food">
<Match DisplayType="Summary">
<Place Parts_Common_Metadata_Summary="-"/>
</Match>
</Match>
Note the Parts_Common_Metadata_Summary

Orchard 1.8 Unable to hide metadata (published date) from custom part using Placement.info

I have a Placement.info at the root of my custom part folder.
<Placement>
<Place Parts_Common_Metadata="-" />
<Place Parts_MyCustomPart="Content:2" />
</Placement>
MyCustomPart displays fine. However, this doesn't hide the metadata. Using Shape Tracing, I managed to identify which Placement.info file was being loaded/processed that displays the metadata. It is ~/Core/Common/Placement.info containing the rule
<Placement>
<Match DisplayType="Detail">
<!-- Removed for brevity -->
<Place Parts_Common_Metadata="Meta:2" />
</Match>
</Placement>
I suspect that MyCustomPart/Placement.info was being loaded/processed first. And ~/Core/Common/Placement.info is loaded after that effectively overriding Parts_Common_Metadata in the previous Placement.info.
Is there a way to define the order of which Placement.info is loaded/process first?
Take a dependency on "Common" from your module.txt manifest file. This will let you take precedence.

How to add Image Field to Blog Post Summary in Orchard CMS?

Looking to display the Image Field in the Blog Post Summary on my Orchard site. It current displays on the blog post itself but not in the summary. How do I add it to the summary?
The display of parts and fields is defined in the placement.info files found in each module. Assuming you're using the Image Field from the Contrib.ImageField module, You will need to override the default placement of the field for the summary display type (which is defined in Modules\Contrib.ImageField\Placement.info) which by default is:
<Match DisplayType="Summary">
<Place Fields_Contrib_Image="-"/>
</Match>
You can do this by adding the following to your theme's placement.info file (note I have restricted this to the BlogPost content type only) e.g.
<Match ContentType="BlogPost">
<Match DisplayType="Summary">
<Place Fields_Contrib_Image="Content"/>
</Match>
</Match>
This displays the image in the Content zone for the summary view of BlogPost content items. For more info on placement in Orchard see http://docs.orchardproject.net/Documentation/Understanding-placement-info
You can use the Media Library Picker Field.
I did the following steps to add image field to blog summary:
add Media Library picker field to Blog-Post content Type
then in the placement.info add the following
<Match ContentType="Blog">
<Match DisplayType="Summary">
<Place Part_Image_Summary="Content">
</Match>
</Match>

Orchard CMS - Remove Title and Metadata(published date) in a post

How do I remove the Title and Metadata(published data) in a post? Can this be done in Placement.info? I tried creating a custom content but doesn't look like a best solution. I just done it with CSS but I know this could be done in another way.
You can edit the Placement.info file in your current theme's root folder to not display the title and publish date:
<Placement>
<Match DisplayType="Detail">
<Place Parts_Title="-"/>
<Place Parts_Common_Metadata="-"/>
</Match>
<Match DisplayType="Summary">
<Place Parts_Title="-"/>
<Place Parts_Common_Metadata="-"/>
</Match>
</Placement>
See this post for further details: Orchard: Anatomy of a theme
Also, in case you are wondering where names like Parts_Title come from, see Customizing Orchard using the Designer Helper Tools (specifically shape tracing).
Alternatively, if you want to keep the title meta in the head whilst removing the title on every page create a Parts.Title.cshtml file in the view folder of your theme and then put
#{
Layout.Title = Model.Title;
}
which is exactly the same as the normal code except we remove the <h1> tag
#{
Layout.Title = Model.Title;
}
<h1>#Model.Title</h1>

Resources