Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

halfhope

Users
  
  • Posts

    1,750
  • Joined

  • Last visited

Everything posted by halfhope

  1. - Помогите, человек тонет!!! - Зачем он в воду полез? Люди учатся плавать с наставником или со спасательным кругом под рукой. Короче, верните шаблон к тому виду, что на скриншоте в Вашем первом сообщении в файле sytlesheet.css найдите .product-info > .left + .right { там указана ширина левой или правой стороны (не помню) (левая - изображение, правая - описание товара). Для последующих экспериментов с дизайном магазина рекомендую Вам навести мышь на какой-нибудь элемент, который вы хотите изменить, нажать правую кнопку мыши и выбрать "Проинспектировать элемент" или "Просмотр кода элемента". Откроются инструменты для разработчиков, в левой части будет HTML код, в правой CSS свойства выбранного элемента. Можете их менять прямо там и смотреть как будет выглядеть выбранный элемент с новыми свойствами. Потом можете скопировать CSS и внести изменения в код. Там же указывается название CSS файла и номер строки, которое содержит данное CSS свойство.
  2. Откройте файл admin/model/sale.order.php айдите и удалите: (float)$product['quantity']
  3. Судя по вашим сообщениям Вы не желаете сам учиться и искать решения, Вам нужен готовый рабочий код. Мой Вам совет - составьте ТЗ и наймите программиста, либо учитесь сами, почаще гуглите.
  4. Рекомендую ознакомиться http://s-engineer.ru/metodika-verstki-shablona-pod-opencart/. Если Вы там ничего не поймете, то идите учить HTML/CSS и возвращайтесь.
  5. Постараюсь объяснить. Открываете файл "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'], в нем содержится название категории.
  6. Добрый день. Есть решение, которое позволит убрать все родительские категории и оставить только последнюю дочернюю категорию. Т.е. "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;
  7. Посмотрите файл "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).
  8. Получить категории товара имея его 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);
  9. Неправильно шрифты инклудите, либо название шрифта на сервере не такое. Я посмотрел, он его даже не загружает. Хотя, если выполнить $('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 (много разных скриптов).
  10. OpenCart: PHPSESSID currency display language Google Analytics: _utma _utmb _utmc _utmz Яндекс Метрика: _ym_visorc
  11. Добрый вечер. https://opencartforum.com/topic/9808-podskazhite-pozhaluista-kod-valiuty-belorusskikh/
  12. Насчет актуальных дырок - заливка файлов через "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>
  13. В файле "/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; } Вышеприведенный код будет ставить параметр "Вычитать со склада" в значение "Нет" как при добавлении товаров, так и при редактировании, так что если Вы выберите "Да", то это не сработает. Всегда будет "Нет".
  14. Добрый день. Вот то, что Вам нужно. Пожалуйста, пользуйтесь поиском.
  15. https://opencartforum.com/topic/37064-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81-magic-quotes-gpc-%D0%B8-register-globals/.
  16. Я уже ранее писал, что скрипты блокирующие отрисовку в браузере находятся в секции head. MCJ может переместить их после открывающего тега body, что по сути вне head и не блокирует отрисовку. По причине наличия javascript в коде странице я не стал добавлять перемещение javascript дальше, чем в body. Если избавитесь от javascript кода в коде страницы на всем сайте, то я лично для Вас переделаю модуль, чтобы он перемещал все js скрипты в footer или еще дальше*. Если короче, то скрипты в секции body не блокируют отрисовку, но Google Page Speed так не считает. Чтобы угодить Google Page Speed нужно переместить скрипты в самый конец страницы, а я сделать этого не могу т.к. в OpenCart, в коде страницы есть JS код, который зависит от этих самых скриптов. Если мы переместим их вниз, то ничего работать не будет, будет много ошибок. И я принял решение перемещать скрипты в body.
  17. Increase PageSpeed умеет намного больше, нежели mcj. MCJ предназначен только для минимизации CSS, JS, HTML. В mcj все поддается детальной настройке, в том числе и выбор библиотеки для минимизации CSS, JS, HTML. У mcj наблюдаются проблемы при большом количестве JS, но этого можно избежать, если все правильно настроить.
  18. Доброе утро. Я бы на Вашем месте создал новую схему (layout) и поместил не нее модуль стены категорий (таких несколько). Это, на мой взгляд, самый простой вариант.
  19. Добрый день. Предоставьте доступ к серверу, если это возможно. Если названия папок на кириллице, то переименуйте в латиницу.
  20. Добрый день. Попробуйте указать путь без "/image" в начале. Не забывайте указать правильную маску файла. Если не получится, то предоставьте доступ, я посмотрю.
  21. Теория. Вам нужно будет сделать "псевдо" корзину, чтобы туда можно было добавлять товар без опций. А потом, на странице оформления товара вывести товары с опциями и добавить их в реальную корзину с выбранными опциями. Только так.
  22. Скорее всего восстановить будет нельзя. Т.к. при сохранении настроек данные не обновляются, а удаляются и добавляются заново. Посмотрите старую тему на sources.ru. То же самое. Вторая ошибка вызвана первой.
×
×
  • Create New...

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.