Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
1

Изменение цвета текста

02.02.2017, 16:23. Показов 7038. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемы Гуру! В php не силен и я понимаю что пишу глупость, но надеюсь вы поможете.
Вообщем есть сайт на wordpress, в нем я создаю произвольное поле с выбором текста: есть в наличии, товар заканчивается, нет в наличии.
Цель: менять цвет текста в зависимости от выбора значения на зеленый, красный,серый.
Мне удается задать один какой то определенный цвет, но через условие не выходит.

PHP
1
2
3
4
5
6
7
8
9
10
                       <font color = $col2>
            <?php 
            
            $acf = the_field("наличие_на_складе");
            if($acf == 'Есть в наличии'){ $col2 = "red";}
            elseif($acf == 'Товар заканчивается'){ $col2 = "green";}
            elseif($acf == 'Нет в наличии'){ $col2 = "yellow";}
            
             ?>
                </font>
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2017, 16:23
Ответы с готовыми решениями:

Изменение цвета текста, когда код цвета берется с сервера
Есть задание : Отправить на сервер название цвета, получить от сервера цвет в формате RGB и...

ContextMenu изменение цвета выбора и цвета текста
Добрый день подскажите как сделать так что бы после выбора пункта меню цвет текста менялся обратно...

Форматирование текста и изменение цвета текста в консоли
Подскажите пожалуйста, как форматировать текст в консоли, а также как менять его цвет

Изменение цвета текста
Здравствуйте! Подскажите, пожалуйста, как можно изменить цвет текста в memo, лишь определенного...

18
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 16:27 2
PHP/HTML
1
2
3
4
5
6
7
8
<?php
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 16:41  [ТС] 3
Спасибо что откликнулись, но
PHP
1
$acf = the_field("наличие_на_складе");
эта строчка обращается к произвольной форме и выводит значение(есть в наличии, товар заканчивается, нет в наличии.) в зависимости от того что я выбрал и сохранил. Так что не помогло.

Вот допустим если я пишу так:
PHP
1
2
3
4
5
6
7
<font color = "green">
            <?php 
            
             the_field("наличие_на_складе");
            
             ?>
                </font>
то оно выводит зеленым предварительно выбранный пункт.
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 16:44 4
Цитата Сообщение от Nik0294 Посмотреть сообщение
эта строчка обращается к произвольной форме и выводит значение(есть в наличии, товар заканчивается, нет в наличии.)
Упс, вставьте её между 1 и 2 строками, случайно удалил.
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 16:58  [ТС] 5
не срабатывает
PHP
1
2
3
4
5
6
7
8
9
<?php
            $acf = the_field("наличие_на_складе");
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
может так наглядней будет http://vespergroup.org/product... or-breeze/ или сам файлsingle-product.7z
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 17:24 6
Nik0294,
PHP
1
var_dump(the_field("наличие_на_складе"));
Что выведет на экран? Предполагаю, там есть лишние пробелы и нужно делать так:
PHP
1
if(trim($acf) == 'Есть в наличии')
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 17:34  [ТС] 7
PHP
1
2
3
4
5
6
7
8
9
10
<?php
        $acf =  var_dump(the_field("наличие_на_складе"));
 
if(trim($acf) == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
Пишет null

Добавлено через 13 секунд
PHP
1
2
3
4
5
6
7
8
9
10
<?php
        $acf =  var_dump(the_field("наличие_на_складе"));
 
if(trim($acf) == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
Пишет null
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 17:59 8
Nik0294, значит, проблема не в условиях, а в вашей функции. Она возвращает пустоту.
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 18:05  [ТС] 9
Вот смотрите =)
PHP
1
the_field("наличие_на_складе") //эта функция выводит на экран выбранное мной значение
так вот она выводит все без проблем но одним цветом. Если я пишу так:
PHP
1
2
3
4
5
<font color = "green">
            <?php 
             the_field("наличие_на_складе");
               ?>
                </font>
,то могу менять цвет на какой хочу, но как мне сделать так чтобы оно в зависимости от текста, которое выводит, меняло цвет. как построить условие?) Какой то выход ведь должен быть.
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 18:20 10
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

Nik0294, а, выводит...

Тогда перед условиями добавьте этот код:

PHP
1
2
3
4
5
<?php
    ob_start();
    the_field("наличие_на_складе"));
    $acf = ob_get_clean();
?>
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 18:33  [ТС] 11
Если так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
            ob_start();
            the_field("наличие_на_складе");
            $acf = ob_get_clean();
?>
                
                <?php
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
То тогда ничего не выводит(((
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 18:34 12
Nik0294,
Ок, что выведет на экран?

PHP
1
2
3
4
ob_start();
the_field("наличие_на_складе");
$acf = ob_get_clean();
var_dump($acf);
0
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 18:37  [ТС] 13
Выводит: string(37) "Товар заканчивается"
если так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
            ob_start();
the_field("наличие_на_складе");
$acf = ob_get_clean();
var_dump($acf);
 
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color = <?php echo $col2?>>
</font>
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
02.02.2017, 19:00 14
Nik0294, перешёл по вашей ссылке, показывает зелёным. Так и должно?
1
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 19:52  [ТС] 15
Не не, это я принудительно указал зеленый вместо красного. Вопрос так и остался, может есть какие то еще задумки?)
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.02.2017, 20:16 16
Цитата Сообщение от Nik0294 Посмотреть сообщение
То тогда ничего не выводит(((
Цитата Сообщение от Nik0294 Посмотреть сообщение
PHP/HTML
1
<font color = <?php echo $col2?>> </font>
И не должно, вы ж ничего не вставили между тегами font
PHP/HTML
1
<font color="<?php echo $col2?>"><?php echo $acf;?></font>
1
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 20:19  [ТС] 17
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<font color = <?php echo $col2?>>
<?php
            ob_start();
            the_field("наличие_на_складе");
            $acf = ob_get_clean();
?>
                
                <?php
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
 
</font>
Если вы про то что нужно так? То так тоже ничего не дает.
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.02.2017, 20:23 18
Лучший ответ Сообщение было отмечено Nik0294 как решение

Решение

Цитата Сообщение от Nik0294 Посмотреть сообщение
Если вы про то что нужно так?
Я написал, что нужно сделать. Ещё раз
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
ob_start();
the_field("наличие_на_складе");
$acf = ob_get_clean();
 
if($acf == 'Есть в наличии') $col2 = "red";
elseif($acf == 'Товар заканчивается') $col2 = "green";
elseif($acf == 'Нет в наличии') $col2 = "yellow";
?>
 
<font color="<?php echo $col2;?>"><?php echo $acf;?></font>
1
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 20
02.02.2017, 20:27  [ТС] 19
Вау спасибо огромное Вам всем!)
0
02.02.2017, 20:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2017, 20:27
Помогаю со студенческими работами здесь

Изменение цвета текста
Здравствуйте. Глупая задача, но только начинаю разбираться с java И прохожу простые задачи, очень...

Изменение цвета текста
Привет всем. Можно ли в консоле менять цвет ЧАСТИ текста? тоесть выделить одно слово другим цветом...

Изменение цвета текста
Всем привет! Я написал блокнот в VB, в котором можно менять цвет текста. Меняется цвет всего...

Изменение цвета текста на кнопках
Здравствуйте. У меня тут вроде элементарное дело, но уже час туплю :wall: Есть Nое количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru