Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2019, 22:53   #1
Henry49
Новичок
Джуниор
 
Регистрация: 08.05.2019
Сообщений: 1
По умолчанию Woocommerce вариация товара и цена

Здравствуйте, проверяю код разработчика и возник вот такой вопрос. Отображение товаров корректное, но только те товары, которые имели вариации и являются по идее новыми отображаются как товары со старой ценой (зачеркнута старая цена, точнее знак евро). Вопрос: каким образом возможно отобразить корректно вариативные товары, исходя из следующего кода:
Код:
/**
 * @param $pr
 * @param bool $echo
 * @return string
 */
function opm_template_product_in_products_list($pr, $echo = true){
 
    if ($pr['regular_price'] == $pr['price']){
        
        $prix_modifier = '<div class="price"> '.$pr['price'].' €</div>';  
    }
    else{
        $prix_modifier = '<div class="price"><del> <span class="ancien_prix">'.$pr['regular_price'].'€ </span> </del> &nbsp; <span class="nouveaux_prix"> '.$pr['price'].' € </span></div>' ;
    
    }
 
    $html = '<div class="product">
                <a class="full" href="'.$pr['link'].'"></a>
                <div class="title">
                    <h4>'.$pr['name'].'</h4>
                </div>
                '.$prix_modifier.'
                <div class="description">'.$pr['description'].'</div>
                <button class="lil-round center">'._('Acheter').'</button>
                <div class="img">
                    '.$pr['image'].'
                </div>
            </div>';
    if($echo){
        echo $html;
    }
    return $html;
}
заранее спасибо
Henry49 вне форума Ответить с цитированием
Старый 16.07.2019, 22:27   #2
amorka89
Пользователь
 
Аватар для amorka89
 
Регистрация: 30.09.2015
Сообщений: 20
По умолчанию

Смотри, глубоко пока не вникал но если правильно понял.
у $pr - массив в котором
$pr['regular_price'] - старая цена.
$pr['price'] - текущая цена.
сначала вот тут
Код:
if ($pr['regular_price'] == $pr['price'])
идет проверка совпадают ли они, если да то пишет просто цену, если они разные то с зачеркнутой.
если я правильно понимаю, у тебя где-то либо должно быть поле типа "старая цена" , а вот если его нет то нужно более глубоко смотреть... возможно надо вывести на товарах (в админке) список произвольных полей по этим типам записей, хотя в бы лучше через базу посмотрел, и сам бы просто это поле руками добавил (через код конечно)...

Но тут станет сл задача, их надо будет заполнять у каждого товара, у которых она отсутствует (если надо на всех что бы так было), если у тебя старая цена фиктивно завышена скажем на 10%, то можно просто этот код подправить

Код:
if ($pr['regular_price'] == $pr['price']){
        
        $prix_modifier = '<div class="price"> '.$pr['price'].' €</div>';  
    }
это заменить на (при условии чито там у тебя цена это только число, если с какими-то буквами, цифрами, словами, то надо парчить само число и только потом все остальное, заведомо считаю что у тебя там просто число)
Код:
if ($pr['regular_price'] == $pr['price']){
        $oldPrice=($pr['regular_price']+($pr['regular_price']*0.1));
        $prix_modifier = '<div class="price"><del> <span class="ancien_prix">'.$oldPrice.'€ </span> </del> &nbsp; <span class="nouveaux_prix"> '.$pr['price'].' € </span></div>' ;
    }
Хотя увидеть бы var_damp($pr); было бы куда информативнее для того, что бы правильный код тебе написать.

Последний раз редактировалось amorka89; 16.07.2019 в 22:31.
amorka89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на типы (Сведения об экспорте товара состоят из наименования товара, страны и количества экспорта. Дан набор сведений.) sckarlett Паскаль, Turbo Pascal, PascalABC.NET 2 18.12.2015 10:19
вписал в окошечко название товара подставилась цена и вес deatmach Microsoft Office Excel 7 07.02.2013 20:26
Ограничения вариация ручного ввода в ячейку. PashaNastya Microsoft Office Excel 4 29.03.2010 06:51
Даны сведения о товарах на складе: наименование, цена, количество единиц товара. Найти товар, стоимость н Evidence Паскаль, Turbo Pascal, PascalABC.NET 1 03.06.2009 00:09
Случайная вариация исходных чисел. Рокот Помощь студентам 2 06.12.2008 17:27