Вед-дев, Сео, Манимейкинг

Drupal Commerce меняем текст на кнопке "Добавить в корзину"

Если вы выводите кнопку "Добавить в корзину" при помощи Views, то по умолчанию текст на ней будет "Add to Cart" или "Добавить в корзину", если вы хотите изменить это значение, то придется использовать hook_form_alter() с commerce_form_callback():

/*
 *  hook_form_alter()
 */


function THEMENAME_form_alter(&$form, $form_state, $form_id) {
  //dpm($form_id);
  if (commerce_form_callback($form_id, $form_state) == "commerce_cart_add_to_cart_form") {
    $form['submit']['#value'] = t('Order now');
  }
}


Комментарии (18)

Здравствуйте! Не подскажите, а как можно в шаблоне ноды вывести эту кнопку (со своими стилями и т.д.)?

Если вам нужно заменить стили или текст, то проще и быстрее сделать при помощи javascript.

Я опять не по теме, но вот эта кнопка...не подскажите, какой хук надо править, чтоб поменять изображение (текст, может статус какой-то) корзины после добавления товара? Т.е. рядом с каждым товаром есть кнопка Добавить в корзину, и нужно после нажатия кнопки было что-то вроде "Добавлено". Или каким-то другим способом можно это сделать?

Добрый день, внутри ноды или во Views? Надпись добавлено нужно отображать на самой кнопке или просто выводить сообщение, что добавлено в корзину?

Добрый день! С помощью вьюса выводятся изображения товара с кратким описанием (отображение во вьюсе: Содержимое | Анонс). При клике на изображение открывается бокс (реализованный, по Вашему совету), на Colorbox), в котором отображаются увеличенное изображение товара, описание, цена и картинка корзины (я заменила кнопку Добавить в корзину на картинку). Так вот при клике на картинку корзину (кнопку Добавить в корзину) она должна замениться другой картинкой. Т.е. мне, наверное, нужно как-то добавить новый класс к кнопке, чтоб потом в css использовать.

При клике просто изображение заменить? А чем решение на jQuery вам не нравится?)

Да, просто при клике замена изображения. А как на jQuery можно сделать? Я вот не знаю, что должно использоваться, какой селектор и т.д. Т.е. потом при повторном клике по картинке добавленного товара, так же должна висеть новая картинка (что товар уже добавлен).

Ссылку киньте, я могу быстро взглянуть и подсказать.

www.obuvaika.promo.kg
Все это дело на главной странице, блок Акции или Новинки.
Спасибо

У вас сайт что-то долго так грузится) Вот попробуйте http://jsfiddle.net/8X7GC/

Да, тоже проблема непонятна, долго грузится.
У меня, наверное, руки не оттуда растут, но что-то не получается ((
Если будет еще минутка свободная посмотрите, пожалуйста, почему скрипт не срабатывает. А так, спасибо Вам большое за помощь и внимание)

Можете мне скинуть доступ к ФТП на ящик dev@drufact.com

А по поводу хостинга, наверное, вам лучше изменить вашего хостера :) Я могу предложить вам свою площадку, в зависимости от размеров и потребления ресурсов вашим сайтом.

Спасибо Вам большое!
Потребовалась проверка по текущему пользователю, который добавляет товар в корзину, поэтому пришлось решать при помощи запросов напрямую в БД.

Вы - молодец) Меня не за что благодарить)

Знала бы хотя бы jQuery, вот точно была бы молодец! Но вот бы..бы...бы )))

У вас все впереди) главное - это терпение и желание)

Ваш код не учитывает статус товара когда он отключён, на кнопке должно быть написано, "Product not available". Если есть решение опубликуйте пожалуйста.
В обычной корзине если позиция отключена, варианта нет в опциях.
Если выводить через views, В строке цена становиться 0, а кнопка отключается надпись остаётся "Order now". Спасибо.

Так как все-таки изменить текст кнопки только во views?
Если делать по вашему примеру, то текст кнопки меняется везде, и в нодах тоже.

Разделы

Подписаться

Подписка на RSS-лента последние записи из Блога

Комменты

  • Olzhas 4 месяца 3 недели назад
    Спасибо. С Новым Годом! 
  • Den 5 месяцев 2 недели назад
    В первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. 
  • Гость 5 месяцев 2 недели назад
    Если все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того 
  • Валерий 6 месяцев 2 недели назад
    да можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер 
  • admin 6 месяцев 2 недели назад
    Валерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт 
  • Валерий 6 месяцев 2 недели назад
    захожу на mysql через ssh по команде  
  • admin 6 месяцев 2 недели назад
    Добрый вечер, какой у вас клиент? 
  • Валерий 6 месяцев 3 недели назад
    Здравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? 
  • Eduard 7 месяцев 4 дня назад
    Видать, домен хороший был. Заявление пробывали писать на мошенника? 
  • Stas 8 месяцев 2 недели назад
    Ошибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям!