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

Переезд на новый домен


Recommended Posts

Был переезд с одного домена на другой, в обоих *.php файлах и базе пути изменены.

Собственно, на картинке единственная возникшая проблема. Везде, включая пункты "Локализация", все как надо. Видимо, где-то надо пути поменять, но где?

capture.jpg

Змінено користувачем Mixin
Надіслати
Поділитися на інших сайтах


3 минуты назад, chukcha сказал:

А в карточке товара все хорошо?

 

Нарушена кодировка в базе

 

Да, все ок. Кодировка же не может быть нарушена частично?

Надіслати
Поділитися на інших сайтах


15 минут назад, Mixin сказал:

Да, все ок. Кодировка же не может быть нарушена частично?

 

Еще раз ! 
Это на 100% отсутствие JSON в PHP !!!

Встроенный класс Opencart некорректно работает с кириллицией!

 

Надіслати
Поділитися на інших сайтах


в каком месте там json?

 

country_id - из json, а сам страна(имя) из таблицы и название валюты из другой таблицы.

Надіслати
Поділитися на інших сайтах

11 минут назад, Yoda сказал:

 

Еще раз ! 
Это на 100% отсутствие JSON в PHP !!!

Встроенный класс Opencart некорректно работает с кириллицией!

 

Да, да, да! Вы таки немного правы, спасибо. Дело в модулях.

 

19 минут назад, chukcha сказал:

А кто его знает как вы там ее импортировали

 

покажите

SHOW CREATE TABLE oc_country

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

 

Вопрос решен, тему можно закрывать.

Змінено користувачем Mixin
Надіслати
Поділитися на інших сайтах


7 минут назад, Mixin сказал:

Вопрос решен, тему можно закрывать.

А поделиться решением не желаете?

Вы дважды написали, что дело было в модуле, но в каком и что именно, почему-то забыли указать.

Надіслати
Поділитися на інших сайтах


@Dotrox видимо, он имеет в виду JSON модуль

36 минут назад, Yoda сказал:

Проверьте есть ли у вас в модах php расширение JSON - с вероятностью на 99% на новом сервере оно у вас не включено.

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, Dotrox сказал:

А поделиться решением не желаете?

Вы дважды написали, что дело было в модуле, но в каком и что именно, почему-то забыли указать.

Боюсь, что тут от меня мало будет пользы, я просто увидел сообщение, что дело может быть в модулях. Дело и было в модулях под названием "Обновление цены при выборе опций OC2 (без AJAX)" и сам модуль опций "Options price ocStore2". Почему-то они сразу работать отказались, и их переустановка решили проблему.

Надіслати
Поділитися на інших сайтах


	public function getGeoZones($data = array()) {
		if ($data) {
			$sql = "SELECT * FROM " . DB_PREFIX . "geo_zone";
			$sort_data = array(
				'name',
				'description'
			);
			if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
				$sql .= " ORDER BY " . $data['sort'];
			} else {
				$sql .= " ORDER BY name";
			}
			if (isset($data['order']) && ($data['order'] == 'DESC')) {
				$sql .= " DESC";
			} else {
				$sql .= " ASC";
			}
			if (isset($data['start']) || isset($data['limit'])) {
				if ($data['start'] < 0) {
					$data['start'] = 0;
				}
				if ($data['limit'] < 1) {
					$data['limit'] = 20;
				}
				$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
			}
			$query = $this->db->query($sql);
			return $query->rows;
		} else {
			$geo_zone_data = $this->cache->get('geo_zone');
			if (!$geo_zone_data) {
				$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "geo_zone ORDER BY name ASC");
				$geo_zone_data = $query->rows;
				$this->cache->set('geo_zone', $geo_zone_data);
			}
			return $geo_zone_data;
		}
	}

 

Надіслати
Поділитися на інших сайтах


1 час назад, chukcha сказал:

в каком месте там json?

 

country_id - из json, а сам страна(имя) из таблицы и название валюты из другой таблицы.

 

 

Смотрим сюда:


 

public function getGeoZones($data = array()) {
        if ($data) {
            $sql = "SELECT * FROM " . DB_PREFIX . "geo_zone";
            $sort_data = array(
                'name',
                'description'
            );
            if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
                $sql .= " ORDER BY " . $data['sort'];
            } else {
                $sql .= " ORDER BY name";
            }
            if (isset($data['order']) && ($data['order'] == 'DESC')) {
                $sql .= " DESC";
            } else {
                $sql .= " ASC";
            }
            if (isset($data['start']) || isset($data['limit'])) {
                if ($data['start'] < 0) {
                    $data['start'] = 0;
                }
                if ($data['limit'] < 1) {
                    $data['limit'] = 20;
                }
                $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
            }
            $query = $this->db->query($sql);
            return $query->rows;
        } else {
            $geo_zone_data = $this->cache->get('geo_zone');
            if (!$geo_zone_data) {
                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "geo_zone ORDER BY name ASC");
                $geo_zone_data = $query->rows;
                $this->cache->set('geo_zone', $geo_zone_data);
            }
            return $geo_zone_data;
        }
    }

потом сюда :


 

<?php
namespace Cache;
class File {
    private $expire;
    public function __construct($expire = 3600) {
        $this->expire = $expire;
        $files = glob(DIR_CACHE . 'cache.*');
        if ($files) {
            foreach ($files as $file) {
                $time = substr(strrchr($file, '.'), 1);
                if ($time < time()) {
                    if (file_exists($file)) {
                        unlink($file);
                    }
                }
            }
        }
    }
    public function get($key) {
        $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');
        if ($files) {
            $handle = fopen($files[0], 'r');
            flock($handle, LOCK_SH);
            $data = fread($handle, filesize($files[0]));
            flock($handle, LOCK_UN);
            fclose($handle);
            return json_decode($data, true);
        }
        return false;
    }

Ой, кто нас *** л в ракете.. Откуда JSON...

 

А теперь пробуем через это 

https://github.com/opencart/opencart/blob/master/upload/system/helper/json.php

 

Пропустить массив с кирилицей.

Удивляемся.

Надіслати
Поділитися на інших сайтах


Раз

 

		if (isset($this->request->post['config_country_id'])) {
			$data['config_country_id'] = $this->request->post['config_country_id'];
		} else {
			$data['config_country_id'] = $this->config->get('config_country_id');
		}

 

Два

$data['countries'] = $this->model_localisation_country->getCountries();

Три

                  <select name="config_country_id" id="input-country" class="form-control">
                    <?php foreach ($countries as $country) { ?>
                    <?php if ($country['country_id'] == $config_country_id) { ?>
                    <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
                    <?php } else { ?>
                    <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
                    <?php } ?>
                    <?php } ?>

   

Четыре


 

public function getCountries($data = array()) {
        if ($data) {
            $sql = "SELECT * FROM " . DB_PREFIX . "country";

            $sort_data = array(
                'name',
                'iso_code_2',
                'iso_code_3'
            );
... skipped

            $query = $this->db->query($sql);

            return $query->rows;
        } else {
            $country_data = $this->cache->get('country');

            if (!$country_data) {
                $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "country ORDER BY name ASC");

                $country_data = $query->rows;

                $this->cache->set('country', $country_data);
            }

            return $country_data;
        }
    }

Вот тут json из кеша - не спорю

При очистке кеша должно показываться правильно?

 

10 часов назад, Mixin сказал:

я просто увидел сообщение, что дело может быть в модулях.

Тут вижу, там не слышу.

 

php mod(уль)  json != модулю в OC

 

10 часов назад, Mixin сказал:

Дело и было в модулях под названием "Обновление цены при выборе опций OC2 (без AJAX)" и сам модуль опций "Options price ocStore2"

 

Упс.. ни к селу ни к городу

 

 

И что это было - неизвестно

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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