Сообщить о поступлении товара

Главные вкладки

Аватар пользователя void void 18 июля 2021 в 22:49

Drupal 7 commerce (v1)

Если поменять статус товара с "активен" на "Отключено", тогда в форме добавления товара в корзину на странице товара вместо кнопки "Добавить в корзину" появится неактивная кнопка "Товар недоступен".

Возможно ли как то заменить эту кнопку "Товар недоступен" например на ссылку "Сообщить о поступлении товара" с урлом на вебформу?

Комментарии

Аватар пользователя VasyOK VasyOK 19 июля 2021 в 1:32

Создаем вьюху, которая проверяет статус товара. Аргумент ИД товара.
Если статус активен - выводим форму покупки, статус отключен - ссылку на вебформу с параметром названия товара в урле.

Аватар пользователя void void 19 июля 2021 в 8:29

Спасибо. Хорошая идея. (странно что сам не додумался)
Товары выводятся в каталоге анонсами, пока неприменима в каталоге. Если не найду другой вариант, буду переделывать вывод на "полями".

Аватар пользователя void void 19 июля 2021 в 10:56

А можно через THEME_form_alter вот так заменить кнопку? :

<?php
function THEME_form_alter(&$form, &$form_state$form_id) {

    if (

commerce_form_callback($form_id$form_state) == "commerce_cart_add_to_cart_form") {
        if ( >>>
Проверить что кнопка "disabled"<<< ) {
            >>>
Заменить кнопку на html (ссылку)
        }
    }
}
?>

Если так можно, то как проверить что кнопка "disabled" и как вывести вместо нее html ?

Аватар пользователя void void 19 июля 2021 в 11:31

Вот так сделать нормально для каталога товаров или дичь?

<?php
function THEME_form_alter(&$form, &$form_state$form_id) {
    if (
commerce_form_callback($form_id$form_state) == "commerce_cart_add_to_cart_form"){
        if (isset(
$form['submit']['#attributes']['disabled'])){
            if (
$form['submit']['#attributes']['disabled'] == true){
                
$form['html_markup'] = array('#markup' => '<a href="/zakaz">'.t('Notify me').'</a>');
                
$form['submit']['#access'] = FALSE;
            }
        }
    }
}
?>