Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

halfhope

Користувачі
  
  • Публікації

    1 750
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем halfhope

  1. Добрый день.

     

    Стоит версия 2.3.7 Ошибка: Некорректный идентификатор счета

     

    Содержимое лога:

    2014-07-28 20:30:29 - qiwi_rest _order Array
    (
    [user] => tel:+79518071309
    [amount] => 5500
    [ccy] => RUB
    [comment] => Keratin Research рабочий состав - 1000 мл - 1 шт
    [lifetime] => 2014-07-29T20:30:29-0400
    [pay_source] => qw
    [prv_name] => hairshining.ru
    )

    2014-07-28 20:30:29 - qiwi_rest order stdClass Object
    (
    [result_code] => 341
    [description] => Parameter 'amount' was not found
    )

     

    Даже если amount с двумя знаками после запятой все равно его не видит. Имя магазина вообще убрал, убрал и квадратные скобки. 

     

    UPD. Все решилось заменой файлов с версии 2.3.4

  2. А чисто случайно, не сталкивались с сортировкой модулей в админ панели?

     

    Сталкивался. Если хотите по алфавиту, то в файле admin/controller/extension/module перед строкой:

    $this->template = 'extension/module.tpl';
    

    добавьте:

    asort($this->data['extensions']);
    

    Сортировать по другим параметрам тоже можно.

  3. а как вы на этом скриншоте добавили порядок сортировки, и почему все равно файлы не по порядку?

     

    Добрый день.

     

    Порядок сортировки показывается только в ocStore, а не в opencart. Это порядок сортировки модулей для витрины, а не для административной панели.

  4. А то получается история:

    - Есть здесь врач? человеку плохо!

    - Почитайте книгу по экстренной помощи или вызовите скорую, а я, пожалуй, пойду пивас попью

     

     - Помогите, человек тонет!!!

    -  Зачем он в воду полез?

    Люди учатся плавать с наставником или со спасательным кругом под рукой.

     

    Короче, верните шаблон к тому виду, что на скриншоте в Вашем первом сообщении в файле sytlesheet.css найдите .product-info > .left + .right { там указана ширина левой или правой стороны (не помню) (левая - изображение, правая - описание товара).

     

    Для последующих экспериментов с дизайном магазина рекомендую Вам навести мышь на какой-нибудь элемент, который вы хотите изменить, нажать правую кнопку мыши и выбрать "Проинспектировать элемент" или "Просмотр кода элемента". Откроются инструменты для разработчиков, в левой части будет HTML код, в правой CSS свойства выбранного элемента. Можете их менять прямо там и смотреть как будет выглядеть выбранный элемент с новыми свойствами. Потом можете скопировать CSS и внести изменения в код. Там же указывается название CSS файла и номер строки, которое содержит данное CSS свойство. 

  5. Пардон, а можно без курса лекций как-то обойтись?

    Мне не нужно полностью переписывать стили, а всего лишь подправить одну деталь  в сайте

    Никак не могу понять, где надо подправить, чтобы выглядело нормально...

    Как исправить проблему?
    Как Решить?
    Где исправлять?
    Если укажете строки - вообще замечательно будет)

     

    Судя по вашим сообщениям Вы не желаете сам учиться и искать решения, Вам нужен готовый рабочий код. Мой Вам совет - составьте ТЗ и наймите программиста, либо учитесь сами, почаще гуглите.

  6. halfhope, спасибо!

    с количеством получилось, а вот с названием категорий что-то не оченть понял

     

     

    Постараюсь объяснить. Открываете файл "catalog/model/catalog/product.php" добавляете туда эту функцию, она вернет массив категорий, в котором содержится товар с ID, который вы указали. Потом её можно будет вызвать в любом контроллере вот так:

    #подгружаем модель с нужной функцией, если не загружена
    $this->load->model('catalog/product');
    #Вызываем добавленную нами функцию из модели 
    $product_categories = $this->model_catalog_product->getProductCategories($product_id);
    

    Она вернет нам массив категорий, в которых содержится товар. Допустим, товар содержится в одной категории, то она вернет нам:

    $product_categories = array(
      0 => 21
    );
    

    Т.е. $product_categories[0] = 21. 21 это ID категории, в которой содержится товар. Теперь мы можем получить данные о категории таким же образом:

    #Подгружаем модель
    $this->load->model('catalog/category');
    #Получаем данные о категории товара
    $category_info = $this->model_catalog_category->getCategory($product_categories[0]);
    

    Теперь в переменной $category_info содержатся данные о категории, которые мы можем использовать. Вам будет нужен только $category_info['name'], в нем содержится название категории. 

    • +1 2
  7. Добрый день. 

     

    Есть решение, которое позволит убрать все родительские категории и оставить только последнюю дочернюю категорию.

    Т.е. "http://адрес-сайта/главная-категория/дочерняя-категория/еще-одна-категория/" будет выглядеть как "http://адрес-сайта/еще-одна-категория". Это решение будет работать только в разделе категорий. Открываете файл "catalog/controller/common/seo_pro.php" найти код:

    case 'path':
    	$categories = explode('_', $value);
    	foreach ($categories as $category) {
    		$queries[] = 'category_id=' . $category;
    	}
    	unset($data[$key]);
    	break;
     

    Замените его на:

    case 'path':
    	$categories = explode('_', $value);
    	$queries[] = 'category_id=' . end($categories);
    	unset($data[$key]);
    	break;
    
    
  8. Посмотрите файл "catalog/model/account/customer.php", там в функции addCustomer есть данные для генерации соли и пароля.

    в ocStore 1.5.4.1, например, выглядит вот так:

    query("salt = '" . $salt = substr(md5(uniqid(rand(), true)), 0, 9) . "', password = '" . sha1($salt . sha1($salt . sha1($data['password']))));
    
    

    Еще в поисках истины Вам может помочь файл "system/library/customer.php" (функция login).

  9. Всем доброго времени суток!

    Подскажите плз., каким образом можно вывести название категории, в которой находится товар, и количество результатов на странице поиска?

     

    Получить категории товара имея его ID можно функцией:

    public function getProductCategories($product_id) {
    	$product_category_data = array();
    	
    	$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");
    	
    	foreach ($query->rows as $result) {
    		$product_category_data[] = $result['category_id'];
    	}
    	return $product_category_data;
    }
    

    Получить кол-во найденных товаров можно добавив в файл "catalog/controller/product/search.php" код:

    $this->data['cout_of_results'] = count($results);
    

    Добавлять его нужно после:

    $results = $this->model_catalog_product->getProducts($data);
  10. Неправильно шрифты инклудите, либо название шрифта на сервере не такое. Я посмотрел, он его даже не загружает. Хотя, если выполнить 

    $('head').append('<link rel="stylesheet" type="text/css" href="http://webfonts.ru/import/stark.css">');
    

    То шрифт загружается и меню перерисовывается. 

    Попробуйте вместо Вашего кода вставить:

    @font-face {
        font-family: 'Stark';
        src: local('Stark'), local('Stark Regular'), url('http://64424.selcdn.ru/webfont/stark/stark.woff') format('woff');
        font-weight: normal;
        font-style: normal;
    }
    

    Должно заработать. Не рекомендую загружать все ресурсы с одного сервера, распределите нагрузку на несколько. Для шрифтов есть Google Fonts, webfonts.ru. Для Javascript Microsoft CDN (JQuery), Google Hosted Libraries (знаменитые фреймворки), CDNJS (много разных скриптов).

  11. Насчет актуальных дырок - заливка файлов через "route=product/product/upload". Не требует никаких прав. Постоянно нахожу залитые шеллы в директории "downloads" на своих демо-сайтах. А отключить руки не доходят т.к. это относительно безопасно, хотя все решается достаточно просто.

     

    Наблюдается аж вплоть до 1.5.6.4. Таким образом можно насолить владельцу магазина заливая гигабайты файлов на хостинг. Приведу код формы, через которую идет заливка файлов:

    <html>
    	<body>
    		<form action="http://1541.ocstore.im/index.php?route=product/product/upload" method="post" enctype="multipart/form-data">
    			<input type="file" name="file">
    			<input type="submit" value="Upload">
    		</form>
    	</body>
    </html>
    
  12. В файле "/admin/controller/catalog/product.php" найдите

    if (isset($this->request->post['subtract'])) {
    	$this->data['subtract'] = $this->request->post['subtract'];
    } elseif (!empty($product_info)) {
    	$this->data['subtract'] = $product_info['subtract'];
    } else {
    	$this->data['subtract'] = 1;
    } 

     

    Замените на:

    if (isset($this->request->post['subtract'])) {
    	$this->data['subtract'] = 0;
    } elseif (!empty($product_info)) {
    	$this->data['subtract'] = 0;
    } else {
    	$this->data['subtract'] = 0;
    }
    

    Вышеприведенный код будет ставить параметр "Вычитать со склада" в значение "Нет" как при добавлении товаров, так и при редактировании, так что если Вы выберите "Да", то это не сработает. Всегда будет "Нет".

  13. А проблему с объединением ява скриптов он так и не решил- как было 5 блокирующих судя по гугл page speed, так и осталось. (( :mellow:

     

    Я уже ранее писал, что скрипты блокирующие отрисовку в браузере находятся в секции head. MCJ может переместить их после открывающего тега body, что по сути вне head и не блокирует отрисовку. По причине наличия javascript в коде странице я не стал добавлять перемещение javascript дальше, чем в body. Если избавитесь от javascript кода в коде страницы на всем сайте, то я лично для Вас переделаю модуль, чтобы он перемещал все js скрипты в footer или еще дальше*.

     

    Если короче, то скрипты в секции body не блокируют отрисовку, но Google Page Speed так не считает. Чтобы угодить Google Page Speed нужно переместить скрипты в самый конец страницы, а я сделать этого не могу т.к. в OpenCart, в коде страницы есть JS код, который зависит от этих самых скриптов. Если мы переместим их вниз, то ничего работать не будет, будет много ошибок. И я принял решение перемещать скрипты в body.

  14. А в чём разница между вашим модулем и Increase Page Speed?

     

    Increase PageSpeed умеет намного больше, нежели mcj. MCJ предназначен только для минимизации CSS, JS, HTML. В mcj все поддается детальной настройке, в том числе и выбор библиотеки для минимизации CSS, JS, HTML.

     

    У mcj наблюдаются проблемы при большом количестве JS, но этого можно избежать, если все правильно настроить. 

  15. Привет ребята, встал такой вот вопрос, нужно сделать отдельную страницу с категориями, что для этого можете посоветовать?

    В какую сторону глядеть.

     

    Доброе утро.

     

    Я бы на Вашем месте создал новую схему (layout) и поместил не нее модуль стены категорий (таких несколько). Это, на мой взгляд, самый простой вариант.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.