Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Проблема с атрибутами

При установке атрибутов товар поле "Цена" не записывается и, следовательно, при пересчете цен после оформления заказа не суммируется. Т.е. цена товара 450000+атрибут (100000)= 550000, а в итоге не персчитывается и выводит лишь стоимость товара (450000). В чем может быть ошибка? Что-то с базой данных или же с файлами что-то не то? При установки атрибутов есть только кнопка редактировать.  Заметил также, что при редактировании товара исчезает цена. Шаблон cleanshop. Все скрины в прикрепленных файлах. Буду благодарен помощи.


У вас поковырялись в файле:
themes/шаблон/module/product_options/multi_options.html
замените его файлом из другого шаблона


multi_options.html заменил, но ничего не изменилось, к сожалению. В атрибуте лишь добавилось + 0 руб. Итоги не суммируются. Уже пол инета обрыл по этой проблеме, ничего конкретного никто ничего не пишет.


смотри файл includes/classes/price.php


Просто заменив файл выдало ошибку:
Warning: number_format() expects parameter 1 to be double, string given in /h/avtospektrru/htdocs/shop/includes/classes/price.php on line 494 Warning: number_format() expects parameter 1 to be double, string given in /h/avtospektrru/htdocs/shop/includes/classes/price.php on line 494  В атрибутах теперь отображается "Серый + руб"


в файле includes/classes/price.php
найди строчку
$Pprice = number_format($price, $this->currencies['decimal_places'], $this->currencies['decimal_point'], $this->currencies['thousands_point']);
и замени ее на
$Pprice = number_format((double)$price, $this->currencies['decimal_places'], $this->currencies['decimal_point'], $this->currencies['thousands_point']);


Warning пропал, но сумматор по прежнему не работает. Атрибут отображается как "Серый + руб". Истина наверняка где-то рядом. Читал тут на форуме много похожих вопросов и проблем, но почему-то до сих пор никто не дал окончательного ответа. Думаю, если мы сейчас все последовательно решим, то у других также отпадут подобные вопросы и проблемы.


Не может ли проблема заключаться в том, что в БД просто нет соответствующего поля "Цена", куда должно записываться значение? Ведь все остальные поля атрибутов записываются нормально (Код атрибута, порядок сортировки и т.д.)



Не может ли проблема заключаться в том, что в БД просто нет соответствующего поля "Цена", куда должно записываться значение? Ведь все остальные поля атрибутов записываются нормально (Код атрибута, порядок сортировки и т.д.)

если бы это поле отсутствовало то выводился бы чистый лист с предупреждением о том, что у вас в такой то таблице отсутствует такое то поле.
-----------------------
гляньте еще файл includes/classes/product.php


Заново удалил и установил атрибуты. Никакого изменения.


не имея под руками самого магазина можно гадать долго  :)
попробуй перегрузи из чистого дистрибюта,  файл  modules/product_attributes.php




гляньте еще файл includes/classes/product.php

В файле заметил, что существуют различия в запросах:
Из свежего шаблона:
function getReviews() {

$data_reviews = array ();

$reviews_query = osDBquery("select
                                r.reviews_rating,
                                r.reviews_id,
                                r.customers_name,
                                r.date_added,
                                r.last_modified,
                                r.reviews_read,
                                r.status,
                                rd.reviews_text
                                from ".TABLE_REVIEWS." r,
                                ".TABLE_REVIEWS_DESCRIPTION." rd
                                where r.products_id = '".$this->pID."'
                                and  r.reviews_id=rd.reviews_id
                                and r.status = 1
                                and rd.languages_id = '".$_SESSION['languages_id']."'
                                order by reviews_id DESC");



У меня r.status и and r.status = 1 отсутствовали. Проблема пока не решена. Ищу.


Источник



Copyright ShopOS