Вопросmodule_invoke как же?
Есть в Ubercart такой модуль uc_cart.module
В нем присутствует хук hook_cart_pane
function uc_cart_cart_pane($items) { $body = ''; if (!is_null($items)) { $body = '<div id="cart-form-pane">' . drupal_get_form('uc_cart_view_form', $items) . '</div>'; } $panes[] = array( 'id' => 'cart_form', 'title' => t('Default cart form'), 'enabled' => TRUE, 'weight' => 0, 'body' => $body, ); return $panes; }
Собственно вопрос как этот хук вытащить с помощью module_invoke в template.php для создания своей функции?
- zakraben
- 15.09.2011
- 5476
Комментарии
Ну согласно API следующим образом:
Где $items - массив с вашими айтемамы. Вот и вся хитрость :)
Вот и я о том же, согласно API... но не работает к сожалению
Вернее выводит просто запись Array
В общем если так не выходит, тогда вопрос другого плана. Как вытащить содержание корзины(положеных товаров в корзину)в любую ноду или в любой блок? Я надеялся сделать через module_invoke - но не прокатило )))
Вот этот кусок кода поможет (я его взял из hook_block uc_cart.module, убрав ненужную обработку и проверку на включенное кэширование):
Хотя можно немного оптимизировать код:
Ага, наполовину пашет. Это получается код из блока. А как же сама страница /cart? вот из нее бы вытащить данные в свою функцию. Там и картинки и кнопки остальные. Просто не могу понять какие хуки подцепить. И то пробовал и другое. По темизации тапировскую таблицу курить нужно, а как вытянуть корзину - хз. Сама задумка вытянуть все данные и сделать всплывающую корзину для просмотра товаров.
Если есть какие-то другие пути реализации корзины в popup окне, поделитесь пожалуйста.
Эту функцию(хук) подключают сразу в модуле корзины. Как можно реализовать вывод этого хука в блок(скорее всего через свой модуль, но я пока в этом слабо разбираюсь). Кажется мне что это как раз то что нужно.
Ну смотри. Напиши в темплейте такую функцию:
И выведи эту функцию в page.tpl.php, например, перед закрывающим тэгом </body>:
Дальше в стилях пропиши (примерно):
И подключи js, который при клике на нужную кнопку, показывает/скрывает корзину:
Вот и всё. Само собой, css и js можно потом усложнить, чтобы добиться красивого вывода корзины :)
РАОТАЕТ!!!!!!!! :YAHOO:
Спасибо большое!
Еще есть вариант вывести корзину в всплывающем окне через модуль popups api правда там через селекторы в контенте настраивать нужно.
Ну выводить можно уже многими способами :) Вопрос ведь был как вытянуть инфу из уберкарта :)
Комментировать