Using two different blog listing page templates for the two different blogs in our shop - shopify

Hi we have two blog types defined within our shop and they both use the same template right now.
Specifically I want to make changes to just one of the two blogs listing pages (the page where a summary and thumbnail of each blog article is shown).
How can I achieve this? Will this automatically happen if I name the templates to something specific a bit like how wordpress handles templating ?

What you need to do is:
in admin/themes click on the three dots and edit the code
in the left pane create a new template in the templates directory
select blog as template and give it a name, e.g. second_blog
this will create a new template file blog.second_blog.json
go back to admin: /admin/blogs
select the blog to which you want to assign the new template
on the bottom right in the theme template dropdown, select the template second_blog
In the theme editor select the new template and make the desired changes
You now have two blog templates which you can design individually

What you need to do is:
in admin/themes click on the three dots and edit the code
in the left pane create a new template in the templates directory
select blog as template and give it a name, e.g. second_blog
this will create a new template file blog.second_blog.json
go back to admin: /admin/blogs
select the blog to which you want to assign the new template
on the bottom right in the theme template dropdown, select the template second_blog
In the theme editor select the new template
and make the desired changes
You now have two blog templates which
you can design individually
The process is documented here.

Related

How to access code of a specific page in shopify?

I am building a Shopify website https://fone-kase-plus.myshopify.com/.
For example, I want to modify code of this page only: https://fone-kase-plus.myshopify.com/pages/iphone-6 .
How is it possible to do it?
If you go in the admin, and to that page (from Online Store/Pages) on the right you will see "Theme Template" and a name. That's the template that is applied to that page.
That name is a file in your theme under templates with a name like page.your-template-name.liquid.
If you copy that file and create another one like page.another-template-name.liquid you can then apply that template only to the pages you want. Then you modify that template file to make a page as you like.

Shopify: How to make a custom template editable in the theme editor?

I am using the theme "Debut" and I've copied it to make a custom theme out of it.
Then, under "Edit code" I have create a new template for "blog".
Now, when I click on "Customize" button at my template, and the theme editor opens, I have a select box in the top bar where I can select the themes templates, and the pages I've created. But I can't find my custom blog template there, to edit it via the drag & drop editor.
How can I achieve this?
Any help is highly appreciated, thanks!
Once you add any custom template for a blog, product, or collection, they are not available directly into the backend customizer in Shopify.
In backend default templates are available, you need to assign the template to a page, product or blog and then navigate to the desired page, collection or product and blog page into backend using customizer window and then you able to edit the sections and blocks that are added to custom template code.

Shopify: selecting alternate Template for "All Products" page

I am trying to customise my debut theme and am a bit stuck.
I am trying to create an alternate template for the template that shows all my products.
I am able to create an alternate collections.liquid and it also shows up in the admin an it all works fine. But my confusion is, this seems to be the same template for rendering the all my products (not just the products from that collection) too, but how/where select the alternate template for that in the admin?
In other words I am attempting to change the template for collections/all
By default the collections/all uses the collection.liquid file.
As you said you can create a new template collection.custom.liquid that you can use.
The interesting part is that there is no actual collection/all page in the admin. This is the default page that ALL shopify shops have (similar to the homepage/404/cart page). So you don't have access to it from the admin panel by default.
In order to change the ALL collection page you need to create it yourself. Go to your collections admin page and create a new collection with the handle all and this will overwrite the default all collection and you will be able to choose a different template for it.
TLDR; create a new "all" collection in the admin panel and choose the custom template for it.
you have check here collection type grid or list which is enabled from the theme option
collection-template.liquid file that show collection/all item list
if want to change the alternative template goto the template directory. page.collection_list.liquid

How to link to a custom template in Shopify?

I'm trying to add a link to a button in Shopify, but I can't get it to work.
I created a new template file in Templates called "page.alternate.liquid"
Then I try to link to it from header using this:
LINK
The output doesn't add any link at all, just a regular text.
To view an alternate template, you have two options:
1) On the resource in question, choose the template that the resource should default to using the selector on the right-hand side.
(Note: this only shows if you have at least 1 appropriate alternate theme in the live theme, and will only list the alternate templates in the currently-live theme)
2) When linking to the resource, add view=<template-suffix> to the querystring of the link.
Example: To link to an alternate page template templates/page.inverted_colours.liquid, your link URL would be /pages/about-us?view=inverted_colours
In your case in the question, that would look something like LINK
This article on Shopify partners blog might help as well: https://www.shopify.ca/partners/blog/shopify-alternate-templates
Hope this helps!

Get blog post custom field in template head - Sitefinity

I need to set several meta tag values in my page head to values set in blog post custom fields.
How do I access the blog item viewmodel from the head?
I've created a separate MVC view snippet for my custom head and referenced it in my template's layout, that much works.
Tried
I grab some of the same custom field values inside my blog template via references like Model.Item.Fields.MyFieldName.Fields.Title.
Adding this same line to the head template throws a
System.Web.HttpCompileException with little useful information attached. I somewhat expected this, as I suspect that viewmodel for the blog post only exists in the context of the blog widget.
Ends up that I need to rebuild after every change to the head cshtml file or I get this error. Seeing as this is about a four-minute process with Sitefinity (15 seconds to build, 3:45 to do whatever Sitefinity does for about four minutes), this is a gruelingly horrid thing to have to do.
However the Model is null at this level.
Also tried
Per the ever-helpful and highly knowledgeable #Veselin Vasilev, I looked into passing the data up via MetaDataFields. I didn't see these options in my admin section for the widget. To clarify, I'm using the built-in "Blog posts" widget with a customized view file.
But if it's possible to do this, it gives me hope that there's a way to pass more data up, even if it's going to take some work.
EDIT: Sitefinity v.10.2 and above:
There is an easier way to achieve what you are trying - in Page edit mode, in the Blog Posts widget click Edit and then Advanced. Then you should see a MetaDataFields button. Click it and you should see several meta data related fields.
In the MetaTitle field put the name of your custom field and save.
Also, from the docs:
If you leave MetaTitle field empty, Sitefinity CMS adds takes its value from the Title field of the static content item or from the identifier field of a dynamic content item. Otherwise, the tag is populated with the contents of the field that you have entered in MetaTitle field.
More details here:
https://docs.sitefinity.com/configure-meta-title-and-meta-description-on-widget-level
Sitefinity 10.1 and below:
Check this article
Basically, in your view you get a reference to the Page object and then update its Header with the meta data you need.