Перейти к содержанию
myakuhin

введенные seo_title и seo_h1 не сохраняются

Рекомендуемые сообщения

OcStore 1.5.4.1

Столкнулся с такой проблемой - пропала возможность для товара делать seo_title и seo_h1 - ввожу эти данные в карточке, в соответствующие поля, товара, жму "Применить" или "Сохранить" а то что ввел в этих полях (seo_title и seo_h1) не сохранятся... Я стал смотреть что не так,  за основу взял эту   тему https://opencartforum.com/topic/5112-seo-title-dlia-kategorii-i-tovara-15/

всё вроде правильно... но всё равно не работает...

Еще обнаружил одну непонятную вещь - в файле admin\model\catalog\product.php на 12 строчке находится код

foreach ($data['product_description'] as $language_id => $value) {
	$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
}

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сложно сказать что-либо, потому что нужно смотреть по-живому

var_dump ($data['product_description']);

foreach ($data['product_description'] as $language_id => $value) {
	$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что отвечает за сохранение данных в базе - модель?

Дело втом, что это работало раньше и в product_description у некоторых товаров есть seo_title и seo_h1 , когда открываю этот товар, данные видны, нажимаю "Применить" и они исчезают из базы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подобные же строки должны быть и в методе editProduct модели product

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
	public function editProduct($product_id, $data) {
		$this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', upc = '" . $this->db->escape($data['upc']) . "', new = '" . $this->db->escape($data['new']) . "', ean = '" . $this->db->escape($data['ean']) . "', jan = '" . $this->db->escape($data['jan']) . "', isbn = '" . $this->db->escape($data['isbn']) . "', mpn = '" . $this->db->escape($data['mpn']) . "', location = '" . $this->db->escape($data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape($data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . $this->db->escape($data['tax_class_id']) . "', sort_order = '" . (int)$data['sort_order'] . "', date_modified = NOW() WHERE product_id = '" . (int)$product_id . "'");

		if (isset($data['image'])) {
			$this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'");
		}
		
		$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");
		
		foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', seo_title = '" . $this->db->escape($value['seo_title']) . "', seo_h1 = '" . $this->db->escape($value['seo_h1']) . "'");
		}

вот что у меня в editProduct

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Без прямого вмешательства в процесс поставить диагноз не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

еще обнаружил в папке с product.php файл product_ajax.php может это как-то связано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Без прямого вмешательства в процесс поставить диагноз не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.