HikaShop edition
Which HikaShop edition do I need ?Installation / update
Will I loose my settings/data if I update (or upgrade to a commercial edition) of HikaShop?HikaShop installs files in the following folders. Please first make sure those folders are writable before trying to install HikaShop :
- Joomla / Administrator / Components
- Joomla / Components
- Joomla / Modules
- Joomla / Plugins
- Joomla / Plugins / Hikashop
- Joomla / Plugins / Hikashoppayment
- Joomla / Plugins / Hikashopshipping
- Joomla / Plugins / Acymailing
- Joomla / Plugins / Search
- Joomla / Plugins / User
- Joomla / Plugins / System
- Joomla / Language / en-GB
- Joomla / tmp
- Joomla / media
If you have errors regarding the copy of files, it's likely to be because of access right issues. You should look at these documentation pages of Joomla: http://docs.joomla.org/Why_can't_you_install_any_extensions%3F http://docs.joomla.org/Installing_an_extension http://docs.joomla.org/How_to_solve_Installation_errors_Extension_Manager
A blank page does not help us to determine what could be the problem so if you get a blank page (an entire white screen without anything written on it), please make sure that your PHP configuration enables you to see errors and if not, edit your php.ini file and search for the string parameter display_errors.
This parameter should be turned On : display_errors = On. If it's not the case, please edit your php.ini file, modify this line, save your file and then restart your server and try again to install HikaShop. You should not see a blank screen anymore and the error message will help us a lot to fix the problem.
If you can not see any error, please try to install HikaShop via FTP, it solves more than half of the installation issues.
If you have difficulties to install HikaShop, you may want to try to install it via FTP. This way, Joomla won't have to upload the HikaShop package on your website so the installation will be much faster.
- Extract your HikaShop package in a folder called "HikaShop " on your own computer.
- Open your FTP software (FileZilla for example), connect to your website and upload the folder "HikaShop " in the temporary folder of your website : /tmp/
- Go to your Joomla Installer manager on your website backend and specify the path of your folder in the input "Install from Directory" : "\home\...\tmp\hikashop".
- Click on the button "Install"... the install process should be much faster and will enable you to successfully install HikaShop.
http://www.hikashop.com/fr/support/59-hikashop-how-to-install.html#errors
After updating HikaShop, or when creating custom fields, it's possible that you have things not functioning properly (eg. products not saving, not adding to the cart, order not creating, etc).
It always comes from the fact that the process could not update the HikaShop's tables structure during the update (or when you add a custom field). That can be caused by two things:
1. Your MySQL user do not have the ALTER privilege which is essential to the update of tables structure.
2. Your MySQL server could not run all the queries because it was limited by some resource restrictions put in place by your hosting.
First, you should turn on the debug mode option of the configuration of joomla in your backend and deactivate the option "Use AJAX when possible for add to cart buttons" of the Checkout tab of the configuration of HikaShop. Then, reproduce the action where you have the problem. If you see a big warning with a MySQL query error, then that's your problem. The message should start with something like that:
500 - JDatabaseMySQL::query: 1054 - Unknown column 'XXXXXX' in 'where clause' SQL=SELECT * FROM.....
You should open the file administrator/components/com_hikashop/install.hikashop.php and search for that column name. You should see something like that:
$this->db->setQuery("ALTER TABLE `#__hikashop_YYYY` ADD `XXXXXXXX` ....................................................."); $this->db->query();
You need to open your phpmyadmin and run the query which is in the double quotes in your database. Don't forget to replace #__ by the prefix of your tables (it's usually jos_ for Joomla 1.5 but it is random for Joomla > 1.6 ).
For custom fields, you can just delete them and the error should disappear.
These problems can manifest when there is a conflict between one of the plugins of the group system, the template or a module of your website, which uses invalid javascript or another javascript not compatible with mootools, and the standard mootools javascript library of joomla. In order to know if you're affected, you can display the javascript error console of your browser (a documentation on that for Google Chrome: http://code.google.com/intl/en/chrome/devtools/docs/overview.html ). If you see errors about javascript files, it's likely that you have that problem.
There is unfortunately nothing we can do in HikaShop regarding that as it's not a problem in HikaShop. The fact fact that it doesn't work is a byproduct of that conflict. The solution is to try to disable the different plugins of the group system and modules to see which one is causing the problem or to switch your template to see if it comes from that. Then, you can contact the developer of that plugin/module/template to try to solve the problem or use another one.
Known extensions which can cause such problems:
- jQuery++ integrator
- SC jQuery
- System - Core Design Scriptegrator plugin
- Scroll To Top -> there are plenty of modules to do the same out there so you should try to use another one.
- SuperFish Dropdown menu module -> There is an option in that module to activate the no conflict mode which solves the problem
- Google's mod_pagespeed can cause the action icons not to work on some of the back end screens when it is set to trim whitespaces and comments from javascript.
- A solution you can try is to use a jquery plugin (we recommend that you try with the plugin "jquery easy") which would load properly jquery instead of the extension's jquery: http://extensions.joomla.org/extensions/core-enhancements/scripts After a new installation or an update I have the error below each time I save the configuration and it doesn't work: Your checkout workflow is empty. Checkout workflow invalid. The modification is ignored. See the documentation for more information on how to configure that option No valid weight unit entered. The system put back the default units. No valid dimension unit entered. The system put back the default units. Either clear the cache and cookies of your browser or use another browser and you won't have the problem anymore.
Styling of the display (CSS)
How to edit the CSS ?Here you can edit the Frontend or Backend CSS file.
If however you want to use CSS for that, you need to do like that: .hikashop_subcontainer{ background-color: red !important; }
The !important will override the CSS of that background option of your menus/modules.
Edit the Front-end CSS File via the Display tab of the configuration. There, near the end of this document, you can edit all the css properties for the vote and comment module.
You can find a tutorial here: firebug tutorial
Do the same things for the "next.png" picture.
Layout
How to change a view in HikaShop ?In the HikaShop component, under the "Display" menu, click on Views. Then, filter by template to edit the good one.
In the "File" column, click on the layout to edit, then you can change the code of the display. In most cases, you will find a lot of HTML tags with some PHP code in between in order to display the data.
For example, in order to add a "Product name" label to the title of your products, edit the file "show_default" of the view "product". Then, replace echo $this->element->main->product_name; by echo "Product name: ". $this->element->main->product_name;
If you have trouble saving your changes, try to disable the "code mirror" plugin via the joomla plugins manager and check that the folder templates/YOUR_TEMPLATE/html/com_hikashop exists and is writable.
$this->params->set('show_quantity_field', 1);
at the beginning of the file, after the first < ?php tag.
Unpublish the extension which is hiding the symbol. In System->Currencies, click on your currency, and in the edition page, you can do one of the following :
Disable "Symbol preceeds positive value" so that the symbol goes after the price. Put a space after the "$" in the "Symbol" field.
- When you create a custom field, don't forget to enable the "Front-end" option.
- Be careful, when you create the custom field, be sure that you set the good table , which is the "item" table, not the "product" table.
- For products listings, enable the default option in System->configuration->display, enable "Display custom item fields" in the Default parameters for products.
- For products listings, enable the same option, in Display->content menus/modules.
Four possibilities:
- Disable the cache in Joomla configuration. Site -> global configuration -> system -> "Cache settings".
- If enabled, please disable the joomla cache plugin.
- Check your template' options for a potential cache option and deactivate it.
- Some hosting companies use caching proxies like Varnish or CDNs which can potentially be configured to cache your pages. So please contact your hosting company to see with them if they do for your website/server and if it can be deactivated.
Maybe one option is not activated. To be sure you activate this module, check this different options: System->configuration->Display
Products settings, enable "Display vote of product".
Category settings, enable "Display vote in category".
System->configuration->vote
In the dropdown, select something, for example "Vote & Comment".
Many possibilities:
- You have to clear the cache of your browser.
- JavaScript is not enabled on your browser.
- The mootools upgrade plugin is missing on your Joomla 1.5, please install and activate it.
- You have made a custom CSS file, and after updating to the latest version of HikaShop, the new CSS to handle the stars is missing. Take it from the "frontend_default.css" file and add it to your custom CSS file via the Display tab of the configuration.
To remove it, you can create a new property in your template: .hikashop_product_code_main{display: none;}
If you see it and you don't want it, it's possible that your template process and break the attributes of the HTML tags around the code. You can turn off the "span processing" option of your template in that case and that should then hide the product code. Otherwise, you can also remove the product code display block in the file "show_default" of the view "product" via the menu Display->Views.
<li id="hikashop_show_tabular_custom_li" class="hikashop_tabs_li ui-corner-top"><?php echo JText::_('YOUR_TAB_NAME');?></li>In the < ul class="hikashop_tabs_ul"> element. Then add a div with content after the "ul" thanks to:
<div class="hikashop_tabs_content" id="hikashop_show_tabular_custom"> <!-- Your div content --> </div>And if you want to display dynamic content in the tab, you can create a custom field of the table "product" via the menu Display>Custom fields (Essential and Business editions only). Then, you'll be able to enter the text you want in the custom field when you're editing your product.
And instead of <!-- Your div content --> in the previous code, you can use:
<?php echo $this->element->XXX;?>where XXX is to be replaced by the column name of the custom product field.
In that case you have to change the "popup mode" in your HikaShop configuration (Display > General display options).
Translation / text modification
How to translate HikaShop ?If HikaShop is not translated in your own language, you can easily add a language file in HikaShop.
Log on the administrator section of your website.
Click on the menu Components -> HikaShop and then on the HikaShop menu System Click on the tab Languages
If HikaShop is not translated in your language, you should see a small Add Icon next to your language (only installed languages are displayed on this area so you have first to make sure the Joomla language file is installed on your website).
Click on the add/edit icon and a popup will open, enabling you to modify the language file. If the language file already exists, you will be able to modify any string used by HikaShop with this interface.
If the language file does not exist, the English version will be loaded so that you can translate the strings from this English version.
The lines starting with # should not be translated (example : #price ) Each translation string is composed by a namekey (in upper-case) and the translated string separated by an equal sign (=).
The translations are enclosed in double quotes. You should keep them while translating and not add double quotes in the string when modifying a translation as that would break the file. You should not modify the string before the equal sign, otherwise, you will break the language file.
Example: The 8th line of this file : PRICE_AFTER_TAX="With VAT) " should be changed to PRICE_AFTER_TAX="TVA incluse) " for the French language. Do not add any return character in your translation, otherwise, you will break the language file.
Sometimes, you will see the sign %s. This symbol indicates a variable which will be replaced by a string or a number in HikaShop.
Please do not modify this symbol!
If there are two %s in the translation, please do not change their order in the sentence.
Once you translated your language file, you can click on the button Save. Then, if you want to share your language file with the rest of the community, please click on the button Share.
Sharing a language file is very important so that we can include your language file in our next versions.
Even if you translated only few strings, we would appreciate if you could share those modifications, so that you will be able to update HikaShop without loosing your work.
You will probably want to change a translation so that it fits your case. For example, we use the word VAT in our english translation file but you might prefer "Sales tax" instead. You could edit directly the translation file like explained above but when you update HikaShop and its language files in the future, you will loose your modifications. Instead, you can copy/paste the lines you want to change to the override textarea below the translation file textarea and do your modifications there. This "override" file won't be changed by HikaShop when you update and that way, you will be able to keep your modifications while still getting the new translations we publish.
For example, if you want to change the word VAT to use "Sales tax" instead you would:
1) Go in the configuration of HikaShop via the menu Components->HikaShop->Configuration in your back end and then open the tab languages.
2) Click on the "change" icon of your language file which opens a popup where you can see your translation file and an override textarea below it.
3) Search for the lines with the word VAT in the translation file and copy/paste them to the override textarea below.
4) Change the text in the override file to suits your needs.
5) Save the modifications.
If you already installed HikaShop, no problem. Just install FaLang/JoomFish and then install HikaShop again.
If it still doesn't work, copy the xml files from yourWebsite\administrator\components\com_hikashop\falang to yourWebsite\administrator\components\com_falang\contentelements or yourWebsite\administrator\components\com_hikashop\translations to yourWebsite\administrator\components\com_joomfish\contentelements
Then, make sure that you can translate joomla articles with FaLang/JoomFish before you try to translate HikaShop content.
Search the text "Add to cart", copy the line in the override area, then change the text there and finally save. Well done, your text "Add to cart" has been changed.
You just have to change the text in this view. You can also unpublish emails there.
In this page, you can change the decimal separator among other display options.
In the menu Display -> Views, edit the "step" file (in the good template). Instead of : if($this->nextButton){ echo $this->cart->displayButton(JText::_('HIKA_NEXT'),'next',... Write : if($this->nextButton){ if(count($this->steps)-1 == $this->step+1){$button_value = JText::_('HIKA_FINALIZE');}else{ $button_value = JText::_('HIKA_NEXT');} echo $this->cart->displayButton($button_value,'next',... And in System -> Configuration -> Languages, edit your traduction file, add a line like that: HIKA_FINALIZE="Finalize" "Finalize" is for the example, but you can set whatever you want.
Create a new product custom field (commercial editions only), via Display -> Custom fields -> New, like in this screenshot:
In the menu Display -> Views, edit the product / listing_price.php file. In this file, replace:
echo '<span class="hikashop_product_price_per_unit">'.JText::_('PER_UNIT').'</span>';
By:
if(!empty($this->element->main->salemethod)) echo JText::_($this->element->main->salemethod);
elseif(!empty($this->row->salemethod)) echo JText::_($this->row->salemethod);
elseif(!empty($this->element->salemethod)) echo JText::_($this->element->salemethod);
else echo JText::_('PER_UNIT');
And to finish, you just have to create a new translation, in Display -> Languages, edit your language file and add in the override area :
PER_PACK="each pack"
This translation is an example, but you can write what you want.
Payment methods
I don't see any payment methods during the checkout, or I don't see some of them, what is the problem ?There are several things which you could have missed.
1) Check that the payments plugins are installed and published
2) Check that you have configured your payment plugins (edit it and save its configuration)
3) Check that your template is able to display error messages: http://www.hikashop.com/en/support/documentation/61.html
4) Check that you have the payment view in the checkout workflow option of the configuration 5) If you restricted your payment methods to zones, check that the address you're using is inside those zones ! Otherwise the payment methods will be filtered out.
6) If you restricted your payment methods to shipping methods, check that the shipping method you're using is in the list of authorized shipping methods for your payment methods ! Otherwise the payment methods will be filtered out.
7) Check that the currency you're using is supported by the payment plugins you're using. Some payment plugins only supports a limited number of currencies. You should check that with the support of the payment gateways you're using.
8) Please make sure that you didn't change the currency code of your currency. Otherwise, the payment plugins won't recognize your currency. If you want to change the display of your currency, we invite you to use the "format" option on the right of the currency options screen as well as the symbol field.
9) When you select a currency or a shipping method in the options of the payment method, the payment method won't display unless that currency or shipping method is selected during the checkout. In most cases, these parameters shouldn't be selected so make sure they are unselected. To unselect them, you need to press the ctrl key and click on the selected currencies or shipping methods.
10) It can happen that the plugin's access is not set properly in the database. Please go in the Joomla plugins manager and edit the plugin and save it. That will sett the access if not present and might help solve your problem.
11) If you have HikaSerial Subscriptions, check the "Make recurring optional" setting of HikaSerial's configuration page. If that setting is deactivated, and that you have products with plans attach to them in the cart, only recurring payment methods (like PayPal recurring) will be displayed on the checkout.
Shipping methods
I don't see any shipping methods during the checkout, what is the problem ?There are several things which you could have missed.
1) Check that the manual shipping plugin is installed and published
2) Check that you have some shipping methods defined in the Manual shipping methods listing in System->Shipping methods
3) If those shipping methods have restrictions make sure that your methods cover all the possible cases (if you have one for weight 20 kg, if the order weights 15kg, the system won't find any suitable shipping methods)
4) Check that your template is able to display error messages: http://www.hikashop.com/en/support/documentation/61.html
5) Check that your products have a weight, otherwise, the system won't display any shipping methods as it will consider the products as virtual goods.
6) Check that you have the shipping view in the checkout workflow option of the configuration
7) If you restricted your shipping methods to zones, check that the address you're using is inside those zones ! Otherwise the shipping methods will be filtered out.
8) Be sure to have valid units in the configuration as only a set of units are valid as stated in the documentation of the configuration page : http://www.hikashop.com/support/documentation/54.html#main
9) Please try to use the same weight and dimension units as the first unit configured in the unit option of the configuration. For example, if you have the units m,dm,cm,mm configured and you use mm for your products dimensions, HikaShop will convert all your dimensions into the first unit (m in that case) to run the comparisons. However, the comparisons are limited to a certain number of decimals and your dimensions might end up as being considered as 0. So, in that case, you would have to change the unit option of the configuration to mm,m,dm,cm
10) If you use a shipping plugin which automatically retrieve the rates for your shipping company servers like the UPS,USPS or FedEx plugins do, you need to make sure that you entered the width, height, length and weight of each product as they base themselves on these in order to know how much to charge. You also need to make sure that you test the shipping selection with a customer test account which already has a shipping address selected as that is also necessary for the calculations of the shipping company server.
11) If you have set a "Warehouse" restriction on your shipping method or on your product configuration page, note that you'll need the same warehouse set on your products and the corresponding shipping method configuration page. At least you'll need to set no warehouse restriction on your shipping method configuration page if you want it to be used by your products.
12) If you have the "read only" option activated for the "Shipping" view of your "Checkout workflow" in the HikaShop configuration, then the first shipping method will be preselected and you won't see the other shipping methods.
Taxation rules
How to set the tax rules ?First of all, go in System -> Taxes, in the menu on the right click on "Manage Tax categories", then "New" and set your tax category name, Optional if you need just one category of tax. (A default category already exists). When you have your tax categories, go back in System -> Taxes, and click on "Manage rates", and "New".
Here you can set the Tax namekey, for example: "Normal rate", "Reduced rate", and the rate, like "19.6", or "5.5"...
You can see all the USA tax rates here, or canada tax rates here, and all you have to know about VAT here.
Example of Europe taxes:
That can come from one or several of these possibilities:
1) You unpublished the states for which you set your tax rules.
2) You unpublished the countries for which you set your tax rules.
3) You created new zones for your tax zones without adding any countries/states as sub zones of your new zones and thus, the system cannot link your rules using these new zones and the addresses on the front end which use the countries/states.
4) You set the "main tax zone" option of the configuration of HikaShop to country/state that you don't use in your tax rules and thus, the taxes are only displayed when the address of the user is in one of these zones and not before he enters his address.
5) You unpublished both the country and the state fields.
6) You changed the type of the country/state custom fields via the menu Display->Custom fields (it should always be "zone" unless you know what you're doing).
7) The address you're using during the checkout on the front end is outside the zones in your tax rules
8) You didn't set the "tax category" option in your products when creating/editing them.
In System -> Configuration -> Main, set the "Main tax zone", out of your taxed zone. That way, taxes will not be displayed until the customer enter his address during the checkout.
In System -> Configuration -> main, set the "Main tax zone", in your taxed zone. That way, taxes will be displayed.
Cart / Checkout
The "Add to cart" button is not present, why ?That can come from one or several of these possibilities:
You are in "Catalog mode", you can change it in System->Configuration->Display, in "General display options" disable the "Catalogue mode" option.
The stock for this product is not set.
The price is not set for this product and the option "Display Add to cart button for free products" is disabled.
"Display Add to cart button" is disabled on the products listings:
you can change the default option in "Default parameters for products" in System->Configuration->Display.
Likewise, you will find a similar option in the HikaShop options of your menus/modules via the menu Display->Content menus/modules
For that, you need to set the option "Force a menu on checkout" of the Checkout tab of the configuration to a menu where you don't want the cart (or create one specifically for that). Then, in the Joomla options of your cart module, that you can access via the Joomla module manager, unselect that menu in the "menu assignment" option and you won't have the cart module on your checkout.
That can happen when you have some cache activated in your website. You should: Deactivate the cache option of the joomla configuration Disable the system cache plugin of joomla via the plugins manager Turn off the cache option of your template via the templates manager if such option is available in your template
In the Product page, you just have to let the "Quantity" field blank. The stock will be unlimited by default.
In System->Configuration->Checkout. With the enabled option "advanced checkout workflow edition", if you want many pages for the checkout, for example, one page with the login & address, another with the shipping & payment method, and another one with the rest, click on "Add step", now you just have to drag and drop your elements in the new step. If the "advanced checkout workflow edition" option is disabled, you will have instead to change the string in the text area according to the documentation related to the Checkout workflow option.
That can come from :
You don't have any shipping methods displayed (check the FAQ for shipping methods not displayed)
You don't have any payment methods displayed (check the FAQ for payment methods not displayed) You can see how to configure a payment / shipping method here.
If you need a guest checkout with the address of the customer, you have to set the checkout steps with "login - address - ..." in the options of the checkout set it to "no registration", and if wanted "no login".
Then you have to do some translation overrides for the "Register" button, to change it to, for example, "Use this address". By this way the customer will not be registered and you have his address for shipping and ordering.
1. You'll have to install and publish the plugin named "HikaShopCustom Quantity plugin"
2. Create 2 custom fields from the "Item" table named "width" and "length" through "Hikashop->Display->Custom Fields->'New'" , and publish them for the front-end.
Cron task
Is my cron task working ?- We implemented an easy way for you to check that your cron task is working.
- Go on your HikaShop configuration page and click on the tab Cron.
- On the Report area, you can see an option to have HikaShop sending you a report each time it is triggered.
- So you can turn ON this option and once your done with your tests, you can then turn it Off.
- Also, on the Last Cron area, you can see the last time your cron has been triggered, who triggered it and the latest report.
- Make sure your website can be triggered via your browser:
Click on your cron url. That will trigger it manually via your browser so you will see if this url can be reached or not. - If you use a third-party SEF component, your website may redirect the current page to the SEF one which will break our own cron service.
- So you can either configure your SEF component to not transform non-SEF into SEF urls or directly write your sef cron url on our cron interface. That can happen with sh404sef.
- Make sure your website can be triggered by the outside:
If you have an .htaccess with password protection, your website will obviously not accept to be triggered by an anonymous user. - If you use a security component on your Joomla website, this component might block our cron task. RSFirewall: You should disable the DoS protection from the Components > RSFirewall > Configuration > Active scanner configuration options.
- If you use Cloudfare please configure it to allow the cron task to go through.
- If you configured your cron task on your own server, check the report of your own cron task and you may also want to apply this workaround:
- Create a php file at the root of your joomla website with the code below in it where you will replace yourwebsite.com by your website. ask=cron"); exit(); ?>
- Then, instead of calling the hikashop cron page, you will call your php file you just created. Like that, for example: wget -O /dev/null "http://www.yourwebsite.com/myfile.php" > /dev/null
- If you use our own server to trigger your website, please make sure you enabled our server IP to trigger your website every X minutes! (you might block it if you have some security checks on the number of connections per IP)
- If you configured your cron task on your own server, check the report of your own cron task and you may also want to apply this workaround: http://www.acyba.com/support/forum/2-bug-report/1377-solved-cron-job-runs-ok-but-acymailing-queue-is-not-processed.html#1466