Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="PALOMINO"]Всем здрасьте. Собственно проблема в следующем... Предположим, у нас есть и-нет магазин с корзиной. Товары добавляються в корзину, все работает. Все отлично. НО! На страницах сайта необходимо отображать: Корзина (N), где N -- кол-во товаров, которые в данный момент находятся в корзине. Так вот ничего более умного чем, чем в AppController написать ф-цию, которая будет считать кол-во товаров в корзине и вызывать её каждый раз в ф-циях текущего контроллера, затем передавать результат работы ф-ции в VIEW, мне зделать/придумать не удалось. Получается что в каждой ф-ции, каждого контроллера, надо вызывать эту ф-цию :( Подскажите, кто сталкивался... Может есть более гуманные методы решения данной проблеммы?[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
PALOMINO
Добавлено: 23 Фев 2010 11:22:45
Заголовок сообщения:
Всем биг спс за потраченное время.
Немного переделал:
Код:
<?= ClassRegistry::init('CartComponent', 'Component')->getCount() ?>
И завелось
Но, почемуто (кстате почему?) отказался работать компонент Session, внутри компонента CartComponent
Вместо:
Код:
$cart = $this->Session->read('Cart');
Пришлось олдскульно делать:
Код:
$cart = $_SESSION['Cart'];
michas
Добавлено: 22 Фев 2010 19:49:04
Заголовок сообщения:
echo ClassRegistry::init('Cart', '
Controller/Component
')->getCount()
PALOMINO
Добавлено: 22 Фев 2010 18:11:21
Заголовок сообщения:
evilbloodydemon
Вот это, реально круто
Взял на заметку.
ClassRegistry, насколько я понял, регистрирует именно модель. А корзина у меня модель то и не использует и БД тоже не использует. Только контроллер.
Вообщем, в предложенным вами варианте, выдается ошибка, что он не может найти соответствующуюю таблицу.
Вот еслиб была возможность из вида вызвать метод контроллера, а ещё лучше метод компонента, то былобы мегакруто. Есть такая возможность?
evilbloodydemon
Добавлено: 22 Фев 2010 17:02:19
Заголовок сообщения:
Код:
echo ClassRegistry::init('Cart')->getCount()
в коде элемента
PALOMINO
Добавлено: 22 Фев 2010 16:34:49
Заголовок сообщения:
michas писал(а):
элементом сделайте
Это не решает проблему полностью.
Щас сделал так:
Подсчет елементов в корзине, вынес в компонент "Cart". В каждом контроллере, вызываю:
Код:
function beforeRender(){
if($this->action == "index" || $this->action == "add" || $this->action == "view")
$this->set('cart_count', $this->Cart->getCount());
}
Ну, и в каждом виде, присутствует элемент, который выводит кол-во.
Но меня по-прежнему не покидает чувство, что вся эта конструкция, работает через одно место и есть решение в разы проще. Воть.
michas
Добавлено: 22 Фев 2010 15:24:35
Заголовок сообщения:
элементом сделайте
PALOMINO
Добавлено: 21 Фев 2010 23:05:40
Заголовок сообщения: Реализация отображения корзины.
Всем здрасьте.
Собственно проблема в следующем... Предположим, у нас есть и-нет магазин с корзиной. Товары добавляються в корзину, все работает. Все отлично. НО!
На страницах сайта необходимо отображать:
Корзина (N), где N -- кол-во товаров, которые в данный момент находятся в корзине.
Так вот ничего более умного чем, чем в AppController написать ф-цию, которая будет считать кол-во товаров в корзине и вызывать её каждый раз в ф-циях текущего контроллера, затем передавать результат работы ф-ции в VIEW, мне зделать/придумать не удалось.
Получается что в каждой ф-ции, каждого контроллера, надо вызывать эту ф-цию
Подскажите, кто сталкивался... Может есть более гуманные методы решения данной проблеммы?
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».