How to create 2 unique Headers with complete different navigations on Venture Free Theme of shopify? - shopify

I just want to ask the community if you have any idea, how to create a unique header for a specific page on shopify.
Theme is Venture(Free Version)
I want to have UK page and US page on my shopify store. My index page is UK based or international clients. While the US page is for US customers only. I want to have a different header and navigation for US page since there are products that are not available for US customers. I just want to post US only products.
Anyone can help me with this? Thank you!

This will require more than just a header change, but it is possible to have two separate headers.
However, the localization may be tricky.
According to Shopify docs:
Your theme's primary language cannot be a regional variant when using
Shopify Markets. For example, you should not change your primary
language to English (United States). It should be English.
This can be done by assigning an array of IP addresses to an variable that is placed in several conditionals.
This process is far too advanced for laymen. If you are not comfortable with liquid and javscript, You can use Nosto or the app Geo-targeting.
If you are looking to do this yourself, please refer to the docs regarding the ‘browsing_context_suggestions.json’ endpoint.
This will then need to be compared to an array of some sort that will assign your customers to a region.
Then, assign that endpoint to a variable and use that variable as a conditional to display your menu with:
{% assign menu = [british menu] %}
I know how to do this, so if you need help I can set it up. It just won't be free, and I recommend trying the apps before you hire unless you are scaled properly for development.
You will then need to lock your products by region, which is done in ruby. You have limited access to ruby through liquid, and backend editing of this sort requires an app. You cannot region lock products in front end without a ton of work and it will be extremely unstable, expensive, and will not lock search results regionally.
So try Locksmith to region lock products. I haven't used it, so my suggestion is blind there, and some experimentation may be required.

Related

How to add different dimensions in product?

Hello Shopify Developers.
I'm a newbie on Shopify. How can we add a tab in product pages as Dimensions? Through this tab, we should be able to edit and change the dimensions for each specific product.
Would you give me a suggestion to do that? please teach me.
Best regards, Siva.
Shopify is not designed to allow customers to enter custom dimensions and have that affect the final price of the item.
However, this can be accomplished in principle through some roundabout steps, which involve a hidden priced product and a fair bit of javascript and the use of line-item properties to link everything together.
If you're feeling ambitious and want to make such a system yourself, the basic flow would be:
Create a product that either has a $0.01 value (or whatever the lowest denomination is in your currency) or a value of whatever the cost-per-smallest-unit that you want to sell by
Update your store templates so that any products that are marked as a component product (via tags, metafields, product type, or whatever you choose to go with) do not get displayed on collection pages, search results, etc.
For your product pages that need custom dimensions, you will need to create any relevant input fields and add whatever formulas you need to convert user inputs into units of your component product
When the item is added to cart, you will need custom javascript to add the correct quantity of the component item at the same time that the main/visible item is added to the cart. At this step, I would recommend adding line-item properties to both items that would identify that they belong together.
You will need to update your cart to hide the component product and add its price to the main/visible item for display purposes, and the quantity-update and item-remove features in your cart to make sure that when the main/visible product is updated or removed the component product is updated appropriately as well.
This can be quite the undertaking to try to take on yourself, so if any of the above steps seem daunting I would strongly recommend looking for an app in Shopify's app store that can do these steps for you. There are a lot of product option/customization apps available, and many of them have free trials that you can take advantage of to see if they meet your needs.
Of course, if you have the skills and ambition to take this project on, great! The above flow should hopefully get you started, and if you need further advice on any specific step feel free to ask another question.

Add pages and products to ongoing theme under development for an existing shopify store

I have an active running shopify store, I need to upgrade it to a new theme.
First need to add pages and products in the new theme in development phase which should only go into the new theme that I am working on to develop and should not disturb the existing store. When all the product and pages for the new development theme are done I would expect to publish it.
What would be the best approach to go with this?
As currently when I go to customize the other theme it doesn't let me add specific products/ pages for that theme only.
Long story short, you can't.
If you like products to be visible to a specific theme only you will need to create a separate dev store or create hidden product ( not visible to the Online Store channel ).
For the pages is not a big problem since if you don't link ( and your search don't look for pages as well ) to them it will be hard to someone to enter then.
This is a common issue - youre doing an overhaul but don't want to disturb current business. Sure on Plus this is made easy ( If you are on plus, ask your MSM for a new dev shop and use the Transporter app ) but for non-plus stores, it can be a headache.
There's no cut and dry answer but here are some ways to get the job done.
Create your dev theme and start doing your work there, as you're doing.
For pages, as mentioned by drip's answer, don't link them and you should be fine. If you don't want search engines to index these while you're working on them, you can also add some liquid logic to your layout/theme.liquid and add the pages you don't want and have it add a meta no-index tag.
If your products are being completely reformatted, i.e. new description formats and such, create one product that has the new formatting, then export your CSV and add the new formatting in there. If you do this, be sure to export again and update your inventory values in your newly formatted sheet since they have likely changed since your export and when your new product formatting is done.
If you have new products you want to hide - give them a special product type, lets say hidden. In your smart collection rules - Type allows a 'not equal to' so set that there and also use the same no-index meta so google isn't indexing them until your ready.
Main things are - your new content can be 'live' in Shopify but if there's no where on site to link to it, its pretty safe unless someone guesses the url. then just make sure you add a band-aid so Google doesn't index them. This can also be extended to your sites search, a bit more work there but 100% doable.
The last bits that are 'always on' like your navigation - that you map all out and hustle on. Or make a new nav with a new handle and use that.
Best of luck! Have done many massive overhauls of sites and product data all while the site is live, just need to use a little finesse to work around some of the things specific to Shopify.

How do I access Shopify data without advanced account?

All I'm wanting to do is track sales of certain products from a certain date. My company is wanting to add a banner to track sales goals for raising money for charities. So basically, we'd tag a few products as being part of that goal, set a goal, and then need to update the goal progress by a certain amount every time a sale is made on one of those products. As far as I can tell, without access to Shopify's analytics API, this is not possible. How can I do this?
What you want to build is perfectly possible. However, you need to generate Private App Credentials, so you can use Shopify API. It doesn't matter if you have an account by yourself, someone else can follow these steps and send you the credentials your way.
If you don't actually need to modify anything through the API, you could have them set a webhook (Settings -> Notifications -> Webhook) on Order Creation (or similar) that posts to your server and you can check what product got sold and see if it has got the tag.
The "easy" way to do this is to create an app that receives order webhooks and can check on tagged products and keep a sum of target items sold.
Then the app should have use a script tag to insert a simple script with the current value into the web page at a configured place by css selector
OR the app could update one or more snippet files that you could include until the promo is done.
I'd tend to go with the script tag option since that's a bit more flexible and you should be able to change your theme when the promo is over to report results without having to touch the app again.

What`s the best practice for Magento to update stock from code

I have to integrate my webshop with an external system. This system provides several functionalities, described in their API. This is what I want to do:
Import/sync products (this is available as CSV via request)
Update stock of products (also available as webrequest)
So I have to hook into the Magento stock check and I want some script which updates the products like everyday.
Where should I implement my changes? What is the best way to do this? I can imagine Magento already have some API stock functionalities, but can`t seem to find the right documentation.
Thanks in advance!
Firstly you could use the Magento web service via either SOAP and XML-RPC:
http://www.magentocommerce.com/api/soap/introduction.html#Introduction-SOAP
There's an API for updating stock levels:
http://www.magentocommerce.com/api/soap/catalogInventory/cataloginventory_stock_item.update.html
However, this is usually quite slow and can take some time to update large collections of products, in which case you are better going for a solution which uses the Magento object model directly, or something custom.
Depending upon your level of development expertise there's a few options available. One library to checkout is Magmi:
http://sourceforge.net/apps/mediawiki/magmi/index.php?title=Magmi_Wiki
this is useful for updating lots of product data / stock levels quite quickly.
If you do no require an automated solution, you could always use the standard Magento import/export profiles to import stock levels from a CSV file, a quick search for 'Magento Import Export Profiles' should give you a good starting place:
http://www.seenbest-web-design.com/techclub/importing-a-csv-of-products-to-magento/
http://www.woolleydesign.net/2011/02/updating-store-inventory-in-magento/
I am fully functionally using Magmi now. I have written a plugin to automatically create configurable products, so if anyone is ever interested let me know.
There is already a plugin to process configurable products, my plugin is dependent on that plugin.
Basically, you will only be able to create configurable products if you especially have added this to your CSV, with a column named 'type'. In the column type you can set simple or configurable. With my module that won`t be nessecary. By some logic I automatically recognize the simple products and create a new configurable containing those products.
A little explanation on why I need this:
The stock system of our client updates a list of product (CSV) every few hours, containing entries of products. They sell clothing, and every size, and every color is a new entry. So one product can have 10 entries, entry 1: t-shirt green, size 12; entry 2: t-shirt green, size 13, etc.
I explain this, just in case anybody would ever need something like this, my plugin will probably help you. It will although need a few modification for your situation, since this is very specific to how your list of products is composed.
Anyway, thanks for your help!

Switch the shipping rate dynamically in Shopify

I'm planning a new Shopify project, and the site requires a different shipping cost depending on the postal area of a postcode (e.g. SE1, N7). The plan was to manually add different shipping options inside of Shopify, then AJAX GET /cart/shipping_rates.json, and manually filter to the correct shipping rate by matching the name to postal area.
But my question is -- is there any way to carry over this shipping method to the Checkout as a selected option, and hide the Shipping Method drop-down from the checkout to prevent them choosing a different the shipping cost?
... Or, ideally, is there a way for me to directly override shipping costs through the API?
I don't know of any onboard functionality, which can facilitate this.
But there is a quite hacky workaround, that I use to filter the shipping rates in the checkout page.
Through the "Additional Google Analytics Javascript" field you can sneak a JS on every page of the shop, including the checkout. Here you can basically manipulate the shipping rates as you like.
In your case, the code must be aware of the shipping_address zip code. You can try to set a cookie on the first checkout page and then read the same cookie on the second.
Unfortunately, this isn’t possible with Shopify’s existing checkout.