[Решено] Не получается скрыть кнопку через php-код

Все вопросы/проблемы по установке и использовании.
Ответить
barabashka
Сообщения: 10
Зарегистрирован: 11 апр 2025, 12:47
Имя: Anton Antonov
Откуда: Moscow

[Решено] Не получается скрыть кнопку через php-код

Сообщение barabashka »

Добрый день, есть сущность, которая содержит в себе поля статус платежа и кнопку оплаты.
Пытаюсь сделать функционал, чтобы когда статус платежа == оплачено, кнопка оплатить не показывалась.
С помощью вот такого php кода

Код: Выделить всё

setcookie('vid', 1);
$idd = [id];


$status = get_value[1837];

// Проверяем статус
if ($status != 170) {
    $output_value = '<button style="margin-left: 5px;margin-top: 5px;background-color:#398239;border-color:#398239" onclick="window.open(\'api/vid.php?code=123af456af&idd=' . $idd . '\'); return false;" class="btn btn-success btn-sm" type="button">Оплатить</button>';
} else {
    $output_value = ''; 
}
где [1837] - идентификатор Статус платежа, 170 - идентификатор статуса оплачено ( всего там 4 статуса возможных )
кнопка оплатить все равно показывается, пробывал разными способами, не понимаю, почему это не работает.

Вроде бы делал по документации - https://docs.rukovoditel.net.ru/index.p ... #get_value

скриншот https://skr.sh/sV5XNSE8vlx
Последний раз редактировалось barabashka 13 апр 2025, 13:55, всего редактировалось 1 раз.
alex_mx
Сообщения: 107
Зарегистрирован: 29 июн 2016, 18:59
Имя: Alex

Re: Не получается скрыть кнопку через php-код

Сообщение alex_mx »

Кнопка это процесс? Если да, на него фильтр можно наложить: "Исключить: оплачено".
barabashka
Сообщения: 10
Зарегистрирован: 11 апр 2025, 12:47
Имя: Anton Antonov
Откуда: Moscow

Re: Не получается скрыть кнопку через php-код

Сообщение barabashka »

Кнопка это php код
tehnos
Сообщения: 223
Зарегистрирован: 13 сен 2021, 17:10
Имя: Евгений
Откуда: Алушта

Re: Не получается скрыть кнопку через php-код

Сообщение tehnos »

А что за get_value в PHP? Значение поля получатся просто

Код: Выделить всё

$status = [1837];
Значение поля это текст, так что

Код: Выделить всё

if ($status != '170')
И ещё в настройках поля надо включить чекбокс "Выполнять динамически"
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1196
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Не получается скрыть кнопку через php-код

Сообщение Fait »

barabashka писал(а): 11 апр 2025, 12:57 Добрый день, есть сущность, которая содержит в себе поля статус платежа и кнопку оплаты.
Пытаюсь сделать функционал, чтобы когда статус платежа == оплачено, кнопка оплатить не показывалась.
С помощью вот такого php кода

Код: Выделить всё

setcookie('vid', 1);
$idd = [id];


$status = get_value[1837];

// Проверяем статус
if ($status != 170) {
    $output_value = '<button style="margin-left: 5px;margin-top: 5px;background-color:#398239;border-color:#398239" onclick="window.open(\'api/vid.php?code=123af456af&idd=' . $idd . '\'); return false;" class="btn btn-success btn-sm" type="button">Оплатить</button>';
} else {
    $output_value = ''; 
}
где [1837] - идентификатор Статус платежа, 170 - идентификатор статуса оплачено ( всего там 4 статуса возможных )
кнопка оплатить все равно показывается, пробывал разными способами, не понимаю, почему это не работает.

Вроде бы делал по документации - https://docs.rukovoditel.net.ru/index.p ... #get_value

скриншот https://skr.sh/sV5XNSE8vlx
Попробуйте так:

Код: Выделить всё

setcookie('vid', 1);
$idd = [id];
$status = [1837]; // Если нужно просто id значения

// Проверяем статус
if ($status == 170) {
    $output_value = ''; 
}
else {
    $output_value = '<button style="margin-left: 5px;margin-top: 5px;background-color:#398239;border-color:#398239" onclick="window.open(\'api/vid.php?code=123af456af&idd=' . $idd . '\'); return false;" class="btn btn-success btn-sm" type="button">Оплатить</button>';
}
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 1196
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич
Контактная информация:

Re: Не получается скрыть кнопку через php-код

Сообщение Fait »

У себя проверил вариант выше, работает прекрасно и точно.
Но если вам нужно именно значение, указанное здесь, то его нужно запрашивать напрямую из базы (так как get_value() только в MySQL форумах работает).
Вот здесь значение указывается
Вот здесь значение указывается
Если у вас глобальный список, то получение $status будет выглядеть вот так:

Код: Выделить всё

$status_id = [1837];
$check_s = db_query('select * from app_global_lists_choices where id='.$status_id);
$status = db_fetch_array($check_s)['value'];
А если локальный, то вот так:

Код: Выделить всё

$status_id = [1837];
$check_s = db_query('select * from app_fields_choices where id='.$status_id);
$status = db_fetch_array($check_s)['value'];
nruslan2
Сообщения: 2435
Зарегистрирован: 14 окт 2020, 09:13
Имя: Ruslan
Откуда: Moscow

Re: Не получается скрыть кнопку через php-код

Сообщение nruslan2 »

а смысл искать значение, если:
-в записи все равно хранится id
-значение задается администратором и в 99% случаях более не меняется!

таким образом проще и быстрее ориентироваться на id значения!
barabashka
Сообщения: 10
Зарегистрирован: 11 апр 2025, 12:47
Имя: Anton Antonov
Откуда: Moscow

Re: Не получается скрыть кнопку через php-код

Сообщение barabashka »

Спасибо всем за помощь, решил.
Была проблема с тем, что не обновлял данные и изменения не применялись + несколько старых правил было, которые мешали.
Ответить