In the frontend template, the AJAX-ZOOM plugin for OpenCart replaces the area that displays product images with the AJAX-ZOOM "zoom on hover" extension. Besides efficient displaying high-resolution images, the AJAX-ZOOM extension features 360 views and 3D multi-level product views. Administrators can create those views directly in the backend area of the OpenCart system. They can upload the 360 images over the interface or import them from ZIP files that were previously uploaded to a specified folder.
It is possible to configure each 360-spin individually or adjust the settings globally over the backend interface. With the hotspots editor that opens in a new window, administrators are able to create interactive markings on the 360 product views.
With a different editor, that is also a part of the backend integration, there is a possibility to create 360 product tours by selecting areas of the 360 view and describing them. The software automatically creates a slider gallery with thumbnails of those areas. When the user clicks on a thumbnail, the viewer spins and zooms to that spot using a selectable animation.
For regular images, there are no changes required. The AJAX-ZOOM plugin automatically fetches and displays them as an item in the thumbnails gallery along with the 360 product views if present.
For the regular images, there is no need to do anything.
To add 360° images go to 'Catalog' -> 'AJAX-ZOOM' panel and select a product. There you will be able to:
allow_url_fopen
is disabled you will have to do it manually, please see "Troubleshooting" section on this page.)
Dear webmaster or whoever reads this. OpenCart is a software where you need to know what you are doing, and if you do, you can do a lot with it. For example, the templates or themes are not standardized, so manual adjustments are frequently needed.
If you have installed Opencart as a beginning shop owner with no coding experience and encounter troubles where you don't understand where to start looking to solve the problem, in this case, we recommend you either hire a professional that supervises your e-commerce intend or don't use Opencart at all! PrestaShop, for example, is undoubtedly a better choice for non-coders than Opencart. The modules system is much more stable. It uses predefined "hooks" and not code replacement as Opencart does to modify something. And you also get more features out of the box without any modules.
In short, and to summarize: OpenCart is a fundamental cart engine that programmers have created for programmers. If you are not a programmer and don't have a programmer who helps, you better don't start using OpenCart.
During installation, the installer downloads AJAX-ZOOM core files automatically.
In some cases, e.g., when 'allow_url_fopen' is disabled or timeout occurs, the process can fail without notice.
Please check that the folder /ajaxzoom/axZm
(in Opencart 3, the path is /system/library/vendor/ajaxzoom/axZm
) exists and it is not empty.
If it does not exist or it is empty,
please download AJAX-ZOOM from our page
and extract axZm
folder into /ajaxzoom/axZm
(or
/system/library/vendor/ajaxzoom/axZm
in Opencart 3), manually via FTP.
The modification system in Opencart ist quite error-prone. Especially if you change the frontend template or install a new theme, this search in VQMOD / OCMOD might not find the requested string to put the code before or after:
<file path="catalog/view/theme/*/template/product/product.tpl">
<operation>
<search><![CDATA[
<?php if ($thumb || $images) { ?>
]]></search>
<add position="before"><![CDATA[
<?php echo $ajaxzoom; ?>
]]></add>
</operation>
</file>
For OpenCart 3, you would need to modify this modification to show in a theme that has a differently structured template:
<file path="catalog/view/theme/*/template/product/product.twig">
<operation>
<search index="0"><![CDATA[{% if thumb or images %}]]></search>
<add position="replace"><![CDATA[
{{ ajaxzoom }}
{% if thumb or images %}
]]></add>
</operation>
</file>
This results in AJAX-ZOOM not showing at all on the product detail page. In this case, you should adjust the "Search" statements manually. For ocmod adjustments, you could rename install.xml into ajaxzoom.ocmod.xml and copy it into the /system folder. Then in extensions -> modifications hit "refresh" button whenever changes are made in ajaxzoom.ocmod.xml;
As already mentioned above, the modification system in Opencart is mighty but error-prone.
For example, if you or a different module have already made modifications, the modifications in the install.xml
may fail.
Consider this modification in Opencart 3 install.xml
<file path="admin/controller/common/column_left.php">
<operation>
<search><![CDATA[if ($this->user->hasPermission('access', 'catalog/product')) {]]></search>
<add position="before"><![CDATA[
if ($this->user->hasPermission('access', 'catalog/product')) {
$catalog[] = array(
'name' => 'AJAX-ZOOM',
'href' => $this->url->link('extension/module/ajaxzoom/products', 'user_token=' . $this->session->data['user_token'], true),
'children' => array()
);
}
]]></add>
</operation>
</file>
If you have renamed the "admin" folder to another name, the above operation will fail.
It may be possible to write the mods better than that (let us know if there is a solution), but anyway,
you should best look into install.xml
of the package before installing
and check if all paths and mods will work with what you have already modified.
ionCube loader is a widely used PHP extension, and it is required to operate AJAX-ZOOM on your server.
Before installing the loader, please check if it is not already installed on your server.
To check this, you can look into the output of phpinfo();
.
You can also use get_loaded_extensions
PHP function - print_r( get_loaded_extensions() );
to see if ionCube is installed.
If you do not detect ionCube on your server, please visit the official ionClube loaders page. There you can find "Loader Installer" and "Loader Wizard" packages, which can guide you through the installation process matching your operating system (Windows, Linux, FreeBSD, OpenBSD, OS X, Solaris).
Many hosting companies also have a guide in their FAQ on how to do this specifically for their configurations. Lastly, a mail to your hosting provider's support surely helps. ionCube is industry standard and should be a copy & paste answer for your hosting provider. If not, you should switch your hosting provider immediately.
Please note that each PHP version requires a different loader extension. When your provider offers a possibility to switch between several PHP versions, and you have added the "ionCube" extension via a separate php.ini on your own, please think about updating this php.ini file to link to the appropriate "ionCube" extension file.
Restarting the server (e.g., Apache) might be needed for the new extension to load (changes in php.ini effectively occur).
Some shared hosting companies such as "1&1" allow the users without root access to create their custom php.ini
files
and "install" Ioncube loader this way.
However, this custom php.ini
has only an effect on the folder whereinto you place it.
It has no impact on subfolders, as you might suspect.
Therefore, if you are dealing with this method of installing the loader, you must copy your custom php.ini
into several folders.
If the AJAX-ZOOM module for your system installs itself into, e.g., /modules/ajaxzoom
directory,
you must place the custom php.ini
into /modules/ajaxzoom/axZm/
folder and
into, e.g., /admin12345/
folder (or wherever installing the modules takes place).
No, AJAX-ZOOM should work out of the box. For some modules/plugins, AJAX-ZOOM does not install itself if the "ionCube" extension is not present on the server (see above). Other than that, there is are limitations on the number of images and image resolution of the demo version. If you would like to test AJAX-ZOOM with higher resolution images ( > 3.2 megapixels / million pixels), please request an "Evaluation" license key for your dev domain or subdomain free of charge.
If you do not have a development server but would like to install the AJAX-ZOOM plugin on your production website, you should go to module/plugin settings and set the "displayOnlyForThisProductID" option. This option allows you to enable AJAX-ZOOM only for specified product ID, so you can test the module/plugin thoroughly without affecting the entire shop / conduct A/B tests.
The translation of the strings is done via the plugin options and within the AJAX-ZOOM's core PHP configuration file.
1. All plugin options are accessed over the backend. For example, if you want to add Russian translation to the "zoomMsg360" option, which is defined as JSON, you would need to add "key" and "value" to this JSON.
{
"en": "Drag to spin 360°, scroll to zoom in and out, right-click and drag to pan",
"de": "Ziehen um 360° zu drehen, zoomen mit dem Mausrad, rechte Maustaste ziehen verschiebt die Ansicht",
"fr": "Faites glisser pour tourner à 360 °, faites défiler pour zoomer dans et hors, cliquer et faire glisser à droite pour vous déplacer",
"es": "Arrastrar para girar en 360º, Rueda del ratón para utilizar el Zoom, botón derecho para mover la imagen"
}
So when you only need English as the default language (please keep it) and want to add a Russian translation string, you would change this option to
{
"en": "Drag to spin 360°, scroll to zoom in and out, right-click and drag to pan",
"ru": "Крутить 360° левой кнопкой мыши, колесом увеличивать, правой кнопкой смещать zoom"
}
2. Some other text strings are located in [ajaxzoom plugin directory] /axZm/zoomConfig.inc.php
file,
which is part of AJAX-ZOOM core. Open this file in a text editor and find a string you are looking for.
For example, you are looking for the "Click to load" message.
It is located under $zoom['config']['spinNoInit']
option and looks like this:
$zoom['config']['spinNoInit'] = array(
'enabled' => false,
'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
'txt' => array(
'en' => 'Click to load
360°
view',
'de' => 'Klicken um die
360° Ansicht
zu laden'
),
'event' => 'click'
);
As you can see, this is a PHP array, and there are several other suboptions located in it.
The best way to proceed is to either copy the entire array into zoomConfigCustomAZ.inc.php
or copy only the suboption with locales into this file.
You can find zoomConfigCustomAZ.inc.php
outside of the /axZm
folder in the plugin directory.
2a. The below is what you would add to [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php
file
when you copy the entire array and add your translation, removing languages you do not need:
$zoom['config']['spinNoInit'] = array(
'enabled' => true,
'file' => array('en' => 'click_to_load_en.png', 'de' => ''),
'txt' => array(
'en' => 'Click to load
360°
view',
'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид'
),
'event' => 'click'
);
2b. Or you could just add the suboption to [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php
file like this:
$zoom['config']['spinNoInit']['txt'] = array(
'en' => 'Click to load
360°
view',
'ru' => 'Нажмите мышкой, чтоб загрузить 360° вид'
);
// or
$zoom['config']['spinNoInit']['txt']['ru'] = 'Нажмите мышкой, чтоб загрузить 360° вид';
/zoomConfigCustomAZ.inc.php
one level up,
outside of the "ajaxzoom" plugin directory, so when you update the plugin, this file does not get overwritten.
3. There is also a third possibility of adding a translation to strings located in
[ajaxzoom plugin directory] /axZm/zoomConfig.inc.php
.
In the backend, under plugin configuration, you can find "azOptions" and "azOptions360",
which allow you to override configuration from [ajaxzoom plugin directory] /axZm/zoomConfig.inc.php
related to frontend display. If we wanted to do the same as above over "azOptions360" plugin option
(which is saved into the database), the result in your textarea would look like this:
Here, we do not need to define English, as the related JavaScript object will get extended by what you define in "azOptions360".
The possibility number 2 above (writing into [ajaxzoom plugin directory] /zoomConfigCustomAZ.inc.php
)
is not applied then.
There is no need to order AJAX-ZOOM before you have successfully installed and tested it!
The license price primarily depends on the number of different images, which are displayed on a domain in the AJAX-ZOOM viewer. For the complete license agreement, please visit the download section.
To use live-support-chat, you need to have Skype installed on your device. In case live support over Skype is not available immediately, please leave us a message or send an email by using the contact form.
We answer every inquiry or question that relates to the AJAX-ZOOM software!
"You do not have permission to access this page, please refer to your system administrator."
I've added all the permissions the user group Administrator in System > Users > User Group > Administrator
Can you help me?