Jump to content

shishifr1

Новичок
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

5 Обычный

About shishifr1

  • Rank
    Пользователь

Recent Profile Visitors

2,480 profile views
  1. Поставьте модуль Simple (Оформление и регистрация заказа). Там есть возможность связывать между собой поля доставки и оплаты
  2. ну или сделать так if($this->request->get['path']) { $this->document->addLink($this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $this->request->get['product_id']), 'canonical'); } else { $this->document->addLink($this->url->link('product/product', 'product_id=' . $this->request->get['product_id']), 'canonical'); }
  3. Ну вы конечно советуете. Человек попросил совета в конкретной задаче. Зачем прятать сеошный текст под спойлер и потом челове захочет его прочтать и увиди что там ничего интересного, расстроится. Автор, в вашем случае нужно элементу div.category-info в цсс задать element.style { position: absolute; bottom: 0; } для div#content добавить в css position: relative; теперь описание находится внизу блока content, но оно налезает на список товаров. ЧТобы это исправить нужно задать свойство margin-bottom для блока product-list, которое равно высоте блока category-description. Cделать это можно на ходу с помощью javascript. Например <script type="text/javascript"> var infoHeight = document.getElementById('category-info').offsetHeight; var list = document.getElementsByClassName('product-list'); if( list !== null ) { list[0].setAttribute("style", "margin-bottom:" + infoHeight.toString() + "px"); } </script> теперь у вас описание внизу визуально, но в коде оно вверху
  4. <a onclick="yaCounter.reachGoal('TO_CART'); _gaq.push(['_trackPageview', '/to_cart.html']); $('#guest').submit();" class="button"><span><?php echo $button_continue; ?></span></a> так попробуйте
  5. Всем привет. Столкнулся с проблемой, заказчик просит в админке вбивать цены в евро, а на сайте, чтобы они отображались в гривнах. Нашел решение, вот делюсь, вдруг, кто-то то же такое ищет. Все до удивительного просто. Вы должны указать опенкарту главную валюту одну, а пользователю (браузеру пользователя) указать другую. И будет произведен пересчет для него. Меняем всего одну строку в файле /system/library/currency.php В функции public function __construct($registry) { в последней ее строке (строка 33 в OcStore 1.5.4.1) меняем $this->set($this->config->get('config_currency')); на $this->set('UAH'); в данном случае я в админке создал валюту "гривны" с кодом "UAH" У рубля это код "RUB" У доллара "USD" Функция set(); задает пользователю начальную валюту Вот и все, надеюсь, кому-то это поможет
  6. на оксторе 1.5.4.1 ничего не изменилось (( Обязательно надр очистить /image/cache/data
  7. Вставлю свои 5 копеек :) 2 функции - ресайз изображений с зумом (если не пропорционально, то картинка приближается для заполнения окна и белых полос нет) Установка: 1) Открываем файл /catalog/models/tool/image.php и перед public function resize($filename, $width, $height) { вставляем public function myresize($filename, $width, $height) { if (!file_exists(DIR_IMAGE . $filename) || !is_file(DIR_IMAGE . $filename)) { return; } $info = pathinfo($filename); $extension = $info['extension']; $old_image = $filename; $new_image = 'cache/' . substr($filename, 0, strrpos($filename, '.')) . '-' . $width . 'x' . $height . '.' . $extension; if (!file_exists(DIR_IMAGE . $new_image) || (filemtime(DIR_IMAGE . $old_image) > filemtime(DIR_IMAGE . $new_image))) { $path = ''; $directories = explode('/', dirname(str_replace('../', '', $new_image))); foreach ($directories as $directory) { $path = $path . '/' . $directory; if (!file_exists(DIR_IMAGE . $path)) { @mkdir(DIR_IMAGE . $path, 0777); } } $image = new Image(DIR_IMAGE . $old_image); $image->myresize($width, $height); $image->save(DIR_IMAGE . $new_image); } if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) { return HTTPS_IMAGE . $new_image; } else { return HTTP_IMAGE . $new_image; } } 2) Файл /system/library/image.php перед public function resize($width = 0, $height = 0) { вставляем public function myresize($width = 0, $height = 0) { if (!$this->info['width'] || !$this->info['height']) { return; } $x = $this->info['width']; $y = $this->info['height']; // old images width will fit if(($x / $y) < ($width/$height)){ $scale = $width/$x; $newX = 0; $newY = - ($scale * $y - $height) / 2; // else old image's height will fit }else{ $scale = $height/$y; $newX = - ($scale * $x - $width) / 2; $newY = 0; } $image_old = $this->image; $this->image = imagecreatetruecolor($width, $height); $new_width = $scale * $x; $new_height = $scale * $y; // now use imagecopyresampled imagecopyresampled($this->image, $image_old, $newX, $newY, 0, 0, $new_width, $new_height, $x, $y); if (isset($this->info['mime']) && $this->info['mime'] == 'image/png') { imagealphablending($this->image, false); imagesavealpha($this->image, true); $background = imagecolorallocatealpha($this->image, 255, 255, 255, 127); imagecolortransparent($this->image, $background); } else { $background = imagecolorallocate($this->image, 255, 255, 255); } imagedestroy($image_old); $this->info['width'] = $width; $this->info['height'] = $height; } 3) теперь везде используется пока стандартная функция ресайза. Если вы хотите использовать новую, например в категории (в списке отображения товаров), то вам нужно открыть файл /catalog/controller/product/category.php, найти там $this->model_tool_image->resize и заменить на $this->model_tool_image->myresize. И так везьде где вам нужно. Не забудьте зайти потом в папку /image/cache/data и удалить кшированые изображения со старым ресайзом
  8. Интересует такая правка. Кто-то может подсказать?
  9. Та же проблема. Не передана информация для покупки Версия ОсСторе 1.5.3.1 Ввел id и подпись в настройках оплаты и уже на стороне LiqPay выдает ошибку. Кто-то может помочь?
  10. Здравствуйте. Купил модуль, установил на 1.5.3.1, все вроде гуд, но если нажать на кнопку оформить после заполнения всех полей, то ничего не происходит
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.