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

SantSany

Новачок
  
  • Публікації

    16
  • З нами

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

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

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

    Как отключить адаптивность шаблона?

     

     

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

    Видел сайты с такими копипастами в подвалах. Насколько это критично для поисковиков? Или текст как-то скрыт от нежелательных глаз?

  2. В том же файле:

    • Закомментировать строки
    $weight = $this->cart->getWeight();
    
    
    
    foreach ($rates as $rate) {
    	$data = explode(':', $rate);
    	if ($data[0] >= $weight) {
    		if (isset($data[1])) {
    			$cost = $data[1];
    		}
    
    		break;
    }
    
    • ​После строки $products = $this->cart->getProducts(); вставить следующее:
    $weight = 0;
    foreach ($products as $product) {
    	$weigh_t = $this->weight->convert($product['weight']/$product['quantity'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
    	if ($product['shipping']) {
    		if ($weigh_t > $weight) {
    			$weight = $weigh_t;
    		}
    	}
    }
    foreach ($rates as $rate) {
    	$data = explode(':', $rate);									
    	if ($data[0] >= $weight) {
    		if (isset($data[1])) {
    			$cost = $data[1];
    		}
    
    		break;
    	}
    }
    
  3. Если еще актуально... Был оффлайн)

    Прикрепил два изменённых файлика и четыре таблицы в формате sql. Если в вашей БД есть таблице с такими именами, удалите их, потом импортируйте мои.

    Сделайте копии своих файлов и БД сначала

     

    Все изменения делаете на свой страх и риск.

    zone.php

    country.php

    4_tables_in_db.zip

  4. посмотри, что у тебя за веб сервер Apache, Nginx или связка Apache + Nginx.

    Либо через панель управления, либо вот так

     

    создай в корне своего сайта вот такой файл, и посмотри, какие модули Apache и PHP включены

    вызвать его просто http://domain/inf.php

     

    inf.php

    <?php
    phpinfo();
    ?>
    

    Скорее все у тебя Nginx, а там директивы Apache не работают. Этот .htaccess заточен под Apache.

    Спасибо за участие! Сервер Apache.

    Проблему решил директивой DirectoryIndex index.php. На сайте, куда леплю я магазин, указан другой "каталожный" файл.

     

    Вот так всегда. Стоит отпустить проблему, расслабиться, и решение приходит само собой))

  5. Мира всем!

    Устанавливаю ocStore 1.5.5.1.2 в каталог рабочего сайта (www.mysite.com/store/) на хостинге ukraine.com.ua

    Первое что мне не понравилось, то что index.php сам не загружался, то-есть www.mysite.com/store/ не работал, а www.mysite.com/store/index.php - работал. Но это исправил, вроде так (не уверен): RewriteBase /store в .htaccess. Но админку и установку vqmod так и приходиться вызывать с помощью ручного добавления index.php в адрес.

     

    Еще хостинг требует заменить Options +FollowSymlinks на Options +SymLinksIfOwnerMatch .htaccess. Как это отобразится на работе SeoPro?

    А директиву RewriteCond %{REQUEST_FILENAME} !-d не принимает вовсе, выдает 500 ошибку (.../store/.htaccess: RewriteCond: bad flag delimiters). Пока я её закомментировал, SeoPro работает, но вылазит: PHP Notice:  Undefined index:  in /home/.../www/store/catalog/controller/common/seo_pro.php on line 53 (только на главной!). Я поэкспериментировал, на другом сайте и хостинге, при тех же настройках .htaccess этой ошибки нет.

     

    В техподдержке хостинга меня уверяли в невозможности установки CMS в каталог, - ибо только в поддомен  :). Я тогда спорить не стал, решил посоветоваться с более компетентными людьми. Помогите настроить .htaccess. Мне почему-то кажется, что в нем проблема.

     

    Вот что у меня сейчас:

    ####Options +FollowSymlinks
    Options +SymLinksIfOwnerMatch
    
    Options -Indexes
    
    <FilesMatch "\.(tpl|ini|log)">
     Order deny,allow
     Deny from all
    </FilesMatch>
    
    RewriteEngine On
    
    RewriteBase /store
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    ####RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    #AllowOwerride All
    

    AllowOwerride All тоже не принимает - /home/ ... /store/.htaccess: Invalid command 'AllowOwerride', perhaps misspelled or defined by a module not included in the server configuration

  6. Решено. Как все просто!

    foreach ($products as $product) {
    			if ($product['shipping']) {
    				$weight = $this->weight->convert($product['weight']/$product['quantity'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
    					foreach ($rates as $rate) {
    						$data = explode(':', $rate);									
    						if ($data[0] >= $weight) {
    							if (isset($data[1])) {
    								$cost += $data[1] * $product['quantity'];
    							}
    					
    							break;
    						}
    					}
    				
    			}
    }
    

    Полезно иногда отдохнуь и взглянуть на задачу "свежим" глазом)

  7. ocStore 1.5.5.1.1

    Здравствуйте

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

    Я ковыряю файл \catalog\model\shipping\weight.php. Вот слепил вот такой код

    $cost = '';
    $rates = explode(',', $this->config->get('weight_' . $result['geo_zone_id'] . '_rate'));
    $products = $this->cart->getProducts();
    foreach ($products as $product) {
    	if ($product['shipping']) {
    		$weight = $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
    			foreach ($rates as $rate) {
    				$data = explode(':', $rate);									
    				if ($data[0] >= $weight) {
    					if (isset($data[1])) {
    						$cost += $data[1];
    					}
    					break;
    				}
    			}
    	}
    }
    

    И он, как ни странно, работает! Вот только если в корзине несколько одинаковых товаров, он по-старинке сначала суммирует их вес, и только потом вычисляет стоимость доставки. Я с моими !знаниями php пока не рискую лезть в getProducts(). Как я понимаю надо или ее менять или как-то вычислять одинаковые товары в корзине и делить вес на их количество. Тут я надеюсь на вашу поддержку. Или может я лезу "в дебри" и есть проще решение? Готовый модуль? Не нашел, честно.

    weight.php

    weight_ver1_1.php

  8. Он имел ввиду вес, указываемый в Checkout при выборе способа доставки oc.jpg

    Надо в файле catalog\model\shipping\weight.php найти строку

    'title'        => $result['name'] . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class_id')) . ')',
    

    и лишнее убрать, а лучше закоментировать

    'title'        => $result['name'] . ':' /* . '  (' . $this->language->get('text_weight') . ' ' . $this->weight->format($weight, $this->config->get('config_weight_class_id')) . ')' */,
  9. а вариант для россии и снг на русском, а остальное на англ кто-нибудь может выложить?

     

    что никто так и не нашел решения ?

     

    https://opencartforum.com/topic/12574-kak-dobavit-perevod-stran-i-gorodov-v-forme-zak/?do=findComment&comment=229939

  10. а вы не могли бы более подробно расписать шаги, очень надо ! все сделал а вот этот пункт портит все  :( помогите пожалуйста

    А что конкретно Вам не ясно?

    Таблицы со странами и регионами брал с разных локализаций Опенкарта. Назвал country_ru, country_en, zone_ru, zone_en.

    Найдите в файлах \model\localisation\country.php и zone.php  строку 

    SELECT * FROM " . DB_PREFIX . "country"  WHERE status = '1' ORDER BY name ASC"

     и замените на 

    SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"

    во втором файле, вместо country - zone

    $this->session->data['language'] эта переменная хранит код используемого языка. То есть теперь данные будут браться из таблички country_ru или country_en в зависимости от выбранного языка 

    Или Вам объяснить как работать в phpmyadmin? Простите, но я не понял что Вы не поняли)

  11. Вроде получилось. Теперь список стран и регионов выводится на выбранном на языке (en, ru).

    Вместе с этим форумом я выдавил вот такое решение

    • Для каждого языка добавил таблички country и zone с нужным переводом в базу данных
    • Подкорректировал запрос к БД в файликах \model\localisation\country.php, zone.php 
      SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"
      

    Только пришлось убрать проверку на наличие списка в кеше.

    public function getZonesByCountryId($country_id) {
    /* 		$zone_data = $this->cache->get('zone.' . (int)$country_id);
    		if (!$zone_data) { */
    			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_" . $this->session->data['language'] . " WHERE country_id = '" . (int)$country_id . "' AND status = '1' ORDER BY name");
    			$zone_data = $query->rows;
    			$this->cache->set('zone.' . (int)$country_id, $zone_data);
    /* 		} */
    		return $zone_data;
  12. Можно ведь хранить таблицы стран и регионов для каждого языка, и в зависимости от выбранного перевода сайта подставлять нужные таблицы. Только вот с моими скудными знаниями у меня не получается вычислить ту переменную которая хранит код языка. Пробовал $language_id, не определена :( Посоветуйте

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

Important Information

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