Contents

    FAQ about JTL-Shop

    General

    After an upgrade/reinstallation of JTL-Shop, the shop template looks destroyed

    You have installed or upgraded JTL-Shop, but when you call up the online shop URL, all styles are missing?

    Probably the automatic merging and compression of CSS and JavaScript files with Minify does not work properly.

    You can deactivate this option in the admin back end under View > Settings > Templates under Compression of JavaScript and CSS files. Then call up your online shop again (press F5). Now the CSS and JavaScript files should load correctly.

    How is the delivery time displayed in JTL-Shop calculated?

    The displayed delivery time is calculated from an interaction between JTL-Wawi and JTL-Shop. In the following video, we have explained all the important aspects that need to be considered when it comes to delivery times.

    The visible mention of the name “JTL-Shop” in the footer or on the Legal notice page of the online shop is part of the licence conditions of JTL-Shop. It does not matter whether the naming is done in text form or by means of the supplied graphic in the footer.

    If you would like to do without the JTL-Shop name, JTL-Software offers a “BrandFree” option for an additional charge. With the BrandFree option, the operator of the online shop is permitted to remove the naming of the online shop software in the front end.

    Which character set does JTL-Shop use?

    The JTL-Shop uses the UTF-8 character set by default.

    I have forgotten my login data for the admin back end. How can I set new login data?

    If you have stored a correct email address for the admin in the back end of JTL-Shop, you can click on the link Forgot password? in the admin login window and have the login data sent to you.

    Another user of the back end may also be authorised to set a new password for you. If possible, ask them to send you a new password.

    Alternative: Execute the following SQL command in phpMyAdmin:
     UPDATE tadminlogin SET cPass=MD5('mypassword'), nLoginVersuch=0 WHERE cName='admin';

    You can then log in to the back end of your online shop with the user admin and the password mypassword. You can then set a new password under Administration > Users & Rights.

    Note: If you have changed the default login name “admin”, you must adjust the position cName=’admin’ in the command above: cName=’YourBackEndLogin’.

    How do I change my SQL database password?

    You can change your database password in the /includes/config.JTL-Shop.ini.php configuration file. Enter your new password instead of the placeholders in define(“DB_PASS”, “****”).

    In addition, the new database password must also be saved in the respective administration tool of the web host.

    SSL encryption for the online shop

    For SSL encryption in JTL-Shop, you need a full-fledged security certificate issued to the domain of the online shop.

    With permanent HTTPS, all communication runs over SSL, i.e. it provides end-to-end protection for searches, logins, contact requests, etc. A small disadvantage is a slight increase in data traffic during the SSL/TLS handshake, but this is usually negligible.

    Enabling permanent SSL

    For the user-friendly activation of permanent in the back end of JTL-Shop, go to View > Settings > Global > General. Activate the setting Automatic redirection from http to https there.

    Note: This setting starts a PHP process and may place an unnecessary load on the server. In addition, resources such as JavaScripts, CSS, images, and videos are not redirected. If you encounter problems because of this, follow the instructions below.

    The alternative way to activate permanent SSL is via the .htaccess file of JTL-Shop. Changes here should only be carried out by staff with the appropriate know-how!

    The change can be realised, for example, with the following lines in the .htaccess:

    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    1. After adjusting the .htaccess file, set Automatic redirection from http to https (setting 192 of JTL-Shop) to No automatic redirection.
    2. Also adjust the URL in the config.JTL-Shop.ini.php file and in the sales channel management in JTL-Wawi (Menu: Platforms > Sales channels > Your online shop >Web server). Make sure to specify the correct URL with the https protocol.
    Note: Check whether warnings are issued in the browser regarding insecure resources after switching to permanent SSL. We describe how to identify unsafe resources and resolve such warnings here.

    Adapting the URL in JTL-Wawi

    After you have activated SSL, you still have to adjust the URL of your online shop under Platforms > Sales channels > Your online shop >Web server, i.e. replace the URL that previously started with http:// with a URL that starts with https://.

    When accessing a page via https, the message “This page contains unsafe content ...” appears

    Go to Display > Settings > Global. Set setting 192 Automatic redirection from http to https to Automatic redirection to https.

    If a warning regarding unsafe content appears in the browser address bar when calling up a page encrypted with SSL, e.g. https://example.com/warenkorb.php, this is usually due to additional images or other elements that were integrated via the box administration or template customisations.

    This is how you identify the unsafe elements:

    Chrome browser: You can see which unsafe content is found on your website in the JavaScript console. To do this, press F12 and then select Console.

    Firefox browser: With the free Firebug plug-in, you can see the unsafe content in the plug-in’s JavaScript console.

    Troubleshooting:

    Do not include resources statically via “http:”, but simply omit the protocol specification in the src attribute. Example: <img src=”//example.com/image.jpg” />. With this method, the resource is automatically loaded either via https or http, depending on via which protocol the page is currently being loaded.

    Further information:

    Why do my customer data in the database contain cryptic characters?

    JTL-Shop stores the encrypted customer data in the database. Some parts of the client data are therefore not retrievable in plain text by database management tools. The encrypted customer data can only be decrypted using the Blowfish key stored in /includes/config.JTL-Shop.ini.php.

    If the key is lost (e.g. by overwriting the file), the respective customer data can no longer be decrypted!

    How do I create tabs for the item details?

    In order to be able to display self-defined tabs in the item details, you must create them in JTL-Wawi under Attributes. You can do this either in the item master data in the tab Attributes/Characteristics of the respective item or via the menu Items > Attributes.

    You can use up to five of these tabs. Two attributes are required per tab; one for the name of the tab and one attribute for the content.

    Select “tab1 name” for the first tab in the JTL-Shop section and check the box Activation for online shops for the respective online shop.  Do the same for “tab1 content”. If you want to create several tabs, create additional attributes and base their names on those described above, but change the tab number (tabX) to 2, 3, 4, or 5.

    Then assign the attributes just activated for the online shop to the desired item. To do this, open the master data of the item. In the Attributes/Characteristics tab, open the list of attributes via the Assign attribute button. Select “tab1 name”, click Next and enter the name to be displayed in the online shop for the tab. Save. Repeat the steps for “tab1 content”, enter the desired content of the tab and save the entries again. If necessary, proceed in the same way for other tabs.

    After an online shop synchronisation, you will find the tabs and contents you created on the corresponding item detail pages.

    My configurator groups are not displayed in JTL-Shop

    Experience shows that there can be two reasons for this problem:

    • No valid Configurator licence: You have not entered a valid Configurator licence in JTL-Wawi. Please read the following description: Activating the Configuration Module
    • Items in the configuration group are not activated for the online shop: You must activate all items that are in a configuration group.

    An error 500 is displayed in the browser or during the synchronisation with JTL-Shop – What should I do?

    In JTL-Shop, add the following lines of code to the file /includes/config.JTL-Shop.ini.php:

    //enables printing of warnings/infos/errors for the shop frontend
    define('SHOP_LOG_LEVEL', E_ALL ^ E_NOTICE ^ E_DEPRECATED);
    //enables printing of warnings/infos/errors for the dbeS sync
    define('SYNC_LOG_LEVEL', E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING);
    //enables printing of warnings/infos/errors for the admin backend
    define('ADMIN_LOG_LEVEL', E_ALL);
    //enables printing of warnings/infos/errors for the smarty templates
    define('SMARTY_LOG_LEVEL', E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING );
    //excplicitly show/hide errors
    ini_set('display_errors', 1);

    Call up the page again. A more meaningful error message should now be generated indicating the cause of the problem.

    You can also analyse a specific area to find errors. To do this, activate the lines listed in the following table. You can deactivate a line by replacing everything between the first comma and the bracket with 0.

    Area to be analysed

    Lines to be activated

    Browser

    SHOP_LOG_LEVEL
    ADMIN_LOG_LEVEL
    SMARTY_LOG_LEVEL

    JTL-Shop synchronisation

    SYNC_LOG_LEVEL

    Front end

    SHOP_LOG_LEVEL
    SMARTY_LOG_LEVEL

    Back end

    ADMIN_LOG_LEVEL

    After successful error analysis, please set all entries back to 0 to stop writing log files.

    //enables printing of warnings/infos/errors for the shop frontend
    define('SHOP_LOG_LEVEL', 0);
    //enables printing of warnings/infos/errors for the dbeS sync
    define('SYNC_LOG_LEVEL', 0);
    //enables printing of warnings/infos/errors for the admin backend
    define('ADMIN_LOG_LEVEL', 0);
    //enables printing of warnings/infos/errors for the smarty templates
    define('SMARTY_LOG_LEVEL', 0);
    //excplicitly show/hide errors
    ini_set('display_errors', 0);

    Why does the visitor counter in the admin back end list different values than my Google Analytics/Piwik?

    The visitor counters work with different techniques to distinguish unique visitors from returning visitors and to distinguish bot accesses from real visitors.

    Among other things, Google uses long-term cookies. This also enables Google to, for example, distinguish between third-party visitor clicks on Google Ads advertisements from other clicks.

    Of course, these options are not available to the same extent for the visitor counter in the back end of JTL-Shop. Therefore, deviations of the counter readings are completely normal and only represent the different ways that the systems work.

    Invalid xHTML source text: Meta tags not closed

    The W3 Validator reports errors due to non-closed tags when validating the page. This occurs with online shops that have installed plug-ins with Hook 140 (phpQuery). The cause for the non-closed tags is a problem in phpQuery.

    These “non-closed tags” noted as errors by the W3 Validator have no effect on the template display and do not affect the search engine ranking. Please see also http://www.youtube.com/watch?v=2XlKn6I9rSc

    Clicking on the Shipping special page opens a pop-up with the start page of the online shop

    In the Admin back end, Special page and the value Shipping information must be selected for the shipping page. With this selection, the online shop recognises the special page Shipping and opens it when clicking on a shipping link.

    Enter your shipping costs in a table or in text form.

    Which cookies does the JTL-Shop use?

    JTL-Shop sets a so-called session cookie by default. This cookie is required to uniquely assign a browser session and is essential for the functionality of the basket, wish list, and comparison list.

    The lifetime of a session cookie is limited by the duration of the browser session. Session cookies are deleted when the browser session is ended.

    If you integrate external services such as GoogleAnalytics, Piwik, or Facebook widgets into the online shop, further cookies will be used by the respective provider via these services.

    Why do I get the message “There is no shipping method available for your order” in the ordering process. Please contact us”?

    This is usually due to shipping cases that have not been considered. On the following pages, you can find an Example for setting up shipping methods.

    How do I move my online shop to another server and where do I have to adjust the URL?

    Before you move the online shop, please make sure that the new web server also meets the minimum requirements. The move is divided into 3 steps:

    • Moving the database
    • Moving the online shop files
    • Moving the URL
    Attention: Be sure to carry out a backup of the MySQL database of the online shop beforehand. Also back up all customised online shop files such as the template files. Also save the config file of the online shop. If this file is lost, the online shop is unusable.

    Moving the database

    There are many programs for creating and importing MySQL databases.  We recommend that you find out from your respective hosting provider how best to perform and download a database backup. With some providers, the export options are severely limited. In such a case, you cannot create the backup yourself but must contact your hosting provider for this anyway.

    To move the database, you need a copy of your online shop’s database. Since nothing must be purchased in the online shop from the time the copy is created, the online shop must be put into maintenance mode beforehand and no more synchronisations must be carried out. Then you need a so-called “dump”, i.e. a backup of the MySQL database. This backup can either be provided by your hosting provider or you have to create it yourself with phpMyAdmin.

    In phpMyAdmin, you can create and download a backup yourself.

    Attention: Once the backup has been created, no more synchronisations between JTL-Shop and JTL-Wawi may take place and the online shop must no longer be changed. The online shop should therefore be set to maintenance mode before creating the backup and no settings should be made afterwards.

    The backup must now be installed on your new web server. From experience, the backups are too large for you to do this yourself via phpMyAdmin. Therefore, you will usually have to contact your web hosting provider. After the backup has been imported, the first step of the move is done.

    Relocating the online shop files of JTL-Shop

    Attention: Make sure that you use binary data transfer. Binary data transfer ensures that there are no transmission errors. Here you will find more information about binary transfer with Filezilla:

    There are 2 options for the relocation:

    • Simply use an FTP program such as Filezilla to download all online shop files except for the directories /admin/templates_c and /templates_c (Important: Do not confuse them with admin/templates and /templates!). Then upload the files to your new web server. This method has the advantage that after uploading, you only need to adjust the config file, the .htaccess file and, if necessary, the php.ini file and the online shop is then immediately ready for use. The disadvantage is that this can take a long time, depending on the number of images and the speed of the line.
    • Simply use an FTP program such as Filezilla to download all online shop files except for the images and the directories /admin/templates_c and /templates_c (Important: Do not confuse them with admin/templates and /templates!). Then upload the files to your new web server. This should not take long . However, after the relocation, you still have to carry out a complete synchronisation with JTL-Wawi and upload all images. Here, too, the config file, the .htaccess file and, if necessary, the php.ini file must be adapted. Important: The directories/admin/templates_c and/templates_c must subsequently be recreated with the corresponding folder rights (write access).

    The online shop files are downloaded with an FTP programme. At this point you can decide for yourself whether or not to download the image directory.

    After you have loaded the files to your computer via FTP, connect to your new web server and upload the online shop files to the new shop directory. Then check the file rights.

    If you have not uploaded the images, we recommend that you download a new online shop from the Customer Centre and use the “bilder” directory there. Please note that your template will no longer work correctly if you access images from your original image directory there. If in doubt, you should simply copy your old image folder as well to be on the safe side. The last thing you need to do is set up the new URL in your online shop.

    Editing the URL of JTL-Shop

    You can edit the URL of your online shop in two ways:

    • Adjust the root directory of the URL. Contact your hosting provider to do this.
    • Move the online shop to another FTP directory. Important: The directories/admin/templates_c and /templates_c must not be moved as well. They must be subsequently recreated with the corresponding folder rights (write access).

    Whether the URL has been changed due to a server relocation or the two cases mentioned above, the following steps must always be taken:

    1. Either move the online shop to the corresponding FTP directory or adjust the URL path of the directory. For the latter, contact your hosting provider.
    2. The config file (includes/config.JTL-Shop.ini.php) contains the URL via which the online shop can be accessed. It must be adjusted. If the FTP directory has also changed because you moved the shop in the first step, the path must also be adjusted in this file.
    Attention: Be sure to create a backup of the config file beforehand. If this file is lost, the online shop is unusable.

    A config file usually looks like this:

    <?php define("PFAD_ROOT", "/var/www/vhosts/meinedomain.de/httpdocs/"); define("URL_SHOP", "http://meinedomain.de"); define("DB_HOST","localhost"); define("DB_NAME","DB_Name"); define("DB_USER","DB_User"); define("DB_PASS","DB_Pass"); define("BLOWFISH_KEY", "******************************"); ?>

    These lines must then be adjusted:

    define("PATH_ROOT", "/var/www/vhosts/mydomain.com/httpdocs/");
    define("URL_SHOP", "http://mydomain.com");

    Here you have to adjust the URL and the FTP path to your new domain.

    1. Change the domain of your online shop in the JTL-Customer Centre under Products > Online shop > Shop editions > Actions > Change licence domain.
    2. The config file (includes/config.JTL-Shop.ini.php) contains the URL via which the online shop can be accessed. It must be adjusted. If the FTP directory has also changed because you moved the shop in the first step, the path must also be adjusted in this file.
    3. Adjust the URL of your online shop in JTL-Wawi in the Menu: Platforms > Sales channels > Your online shop >Web server.
    4. Finally, adjust the .htaccess file in the root directory of the online shop if any redirections (e.g. from non-www. to www.) have been entered here. Usually, the following lines are affected:
    #REWRITE ADAPTATION 2 (redirecting to www.mydomain.com)
       RewriteCond %{HTTP_HOST} ^mydomain.com
       RewriteRule ^(.*)$ http://www.mydomain.com/$1 [r=301,L]
    1. If the online shop was set to maintenance mode, it can now be switched back to productive mode.

    What do I have to consider if I want to restore a backup of my database?

    Please read the following page: Restoring JTL-Shop database backups

    Can I export items from JTL-Shop to JTL-Wawi?

    You can create a CSV file with item data from JTL-Shop, which you can then import into JTL-Wawi via JTL-DataTransfer.

    1. To do this, open the back end of JTL-Shop and go to Administration > Export > Other formats.

    The two formats relevant to you are JTL-Wawi Artikelbildimport (item image import) and JTL-Wawi Importformat (import format).

    1. For both formats, first click on the button Create export file and then on Download file.
    2. First import the file jtlwawi.csv and then jtlwawi_bilder.csv using JTL-DataTransfer.
    Attention: The export formats are not an all-inclusive solution. If necessary, required information must be added to the export format manually before the import or later in JTL-Wawi. In emergency situations, we recommend hiring a service partner to recover data as you need it.

    How do I verify my website in Google Webmaster Tools?

    First, proceed as suggested in the Google help for adding and confirming websites: https://support.google.com/webmasters/answer/34592?hl=en

    When you reach the Choose verification method step, please select HTML file. Download the HTML file and transfer the file with your FTP program to the root directory of JTL-Shop (where the robots.txt is also located). Back in Google Webmaster Tools, you can now verify your website.

    In the export format, shipping costs are exported with EUR 0

    This problem usually occurs when Cash has also been activated as a payment method for shipping methods such as Paketversand DHL.

    Solution: Deactivate the Cash check box for all shipping methods. If you accept cash payments for self-collections, create a separate shipping method Self-collection for this and activate Cash as a payment option there.

    Note: The payment method Cash may only be offered for the shipping method self-collection. However, if you wish, you can also offer other payment methods for the self-collection shipping method so that a customer can, for example, pay for goods at home and then collect them from you.

    The delivery time and the “+ shipping costs” note are not displayed in JTL-Shop

    This problem usually occurs when Ignore when calculating the cheapest shipping costs and/or Cash are activated.

    Solution: Deactivate the Cash check box and Ignore when calculating the cheapest shipping costs in all shipping methods. None of the options may be set if the shipping method is to be relevant for the delivery time calculation.

    If you accept cash payment for self-collection, create the separate shipping methodSelf-collection for this and activate Cash as a payment option there.

    Note: The payment method Cash should only be offered for the shipping method self-collection. However, if you wish, you can also offer other payment methods for the self-collection shipping method so that a customer can, for example, pay for goods at home and then collect them from you.

    How do I set a different default country for the tax calculation independently of the company settings?

    You can set a default country other than the one specified in the company settings for the tax calculation. This can be useful if, for example, you ship your goods from a fulfilment warehouse or a branch in another country.

    To do this, add the following to the includes/config.JTLShop.ini.php file:

    define('TAX RATE_DEFAULT_COUNTRY', '##');

    ## stands for the ISO code of the country in question (e.g. AT)

    What is the safe mode and what can I use it for?

    The Safe mode is available from JTL-Shop version 5.0.1. It is used in critical cases to repair JTL-Shop, for example when faulty plug-ins disrupt the shop operation or admin access.
    If the Safe mode is activated, all shop plug-ins are temporarily deactivated.

    Note that the Safe mode is only for troubleshooting plug-ins and is ineffective for other problems such as Error 500.

    Note: The Safe mode also activates the maintenance mode in the JTL-Shop front end for the duration of its activation!

    In Safe mode, no plug-ins are loaded, not even their bootstrappers. If plug-ins implement their own actions for uninstallation/deactivation, these will not be executed when uninstalling/deactivating these plug-ins in safe mode and unused files or data may remain. Therefore, you should not install any plug-ins in Safe mode, as the installation may not be completed otherwise.

    Activation of the Safe mode

    You have two options for activating the Safe mode: either via the URL parameters admin/?safemode=on or admin/?safemode=off or by activating the check box in the Extended view of the admin back end login window.

    How do I check which JTL-Shop version I am currently using?

    You can check your JTL-Shop version in the JTL-Shop back end or administration areas (/admin) directly on the dashboard page after logging in. Check out the Information about online shop widget:

    How do I check which PHP version I am currently using?

    You can check your PHP version used by the JTL-Shop in the JTL-Shop back end or administration areas (/admin) after logging in directly on the dashboard page. To do this, look at the Server information widget:

    What does the error message "CSRF warning for login: 1" mean in the log?

    This message means that a login attempt took place without a valid token. There are several possible reasons for this:

    • Some time has passed between the customer accessing the login page of the online shop and the actual login attempt. The session time has already expired, the token is invalid and the CSRF warning is logged. If the message appears sporadically, it can be assumed that it concerns delayed login attempts by customers.
    • There may be incorrect cookie settings that cause the message to appear. The cookie settings can be found under View > Settings > Global. In particular, check if the information under Cookie path and Cookie domain is correct.
    • The message is also generated when the login script is called directly, for example by a bot. This is likely the case when the message appears often and is logged at short intervals.

    SEO

    How are parent-child relationships prepared for search engines?

    Note: Please note that there are different approaches to search engine optimisation. If necessary, check the measures you have taken at regular intervals and adapt your SEO strategy individually to your situation.

    Parent-child relationships (short: PCRs) are typically created in JTL-Wawi or via JTL-DataTransfer. When creating child items, the item description and the item images are usually taken from the parent item. From an SEO point of view, this sounds like a red flag as copied content that is distributed across different items in SEO language means Duplicate Content.

    Note: There are various strategies and opinions on how to deal with the issue of duplicate content. The solutions implemented in JTL-Shop, which will be discussed in more detail below, are derived from the webmaster guides provided by Google. However, it may well be the case that a different strategy is more suitable for your online shop. Various factors such as the number of child items per parent item or the degree of deviation in the respective item descriptions or images play a decisive role here.

    In JTL-Shop, both the virtual, unsellable parent items as well as their child items are indexable for search engines by default.

    Parent items and child items are therefore usually indexed by search engines in JTL-Shop. However, this does not mean that each of these pages can be found via a search and that a certain number of child items would appear one below the other in the list of results.

    Via the canonical tag, child items refer to their parent items. The reason for this is that child items usually have the same item description and almost the same pictures as the parent item. In other words, almost identical content can be accessed via different URLs.
    The canonical specification tells search engine bots that the URL of the parent item is to be preferred by users. A user should therefore be preferentially directed to the URL of the parent item during a search.

    Note: In some cases it might be advisable to designate not the parent item but a specific child item as the canonical preferred URL (e.g. because this combination offers additional content and is what you would recommend customers to buy). Such an adjustment can also be made by individual programming according to desired rules by your service partner. Another strategy may be to remove the canonical tag here to give all child items the same chance of being listed.

    Ultimately, it is always the search engine provider’s algorithm that decides which URL is considered canonical and which URLs are presented to the user to match their search query and search profile. The canonical URL determined by the algorithm may differ from the canonical URL shown in the online shop due to the performance of the content.

    Google: The URL check tool provides you with information on which URL is considered canonical by Google.

    Note: Depending on your SEO strategy, you may also want to exclude these pages completely from indexing via robots=”noindex”. This adjustment can be made with little effort by your service partner. The meta specification robots=”index,follow” set by default in JTL-Shop informs search engine bots that the visited page may be included in the index and also that links on this page may be visited.