Version: current

     1 <?php
     2 /**
     3  * Расширение продукта каталога (Product) для сохранения избранных продуктов
     4  *
     5  * @author menedem
     6  */
     7 class FavoriteProducts extends DataObjectDecorator {
     8
     9     function extraStatics() {}
    10
    11     function AddToFavoriteLink() {
    12         return FavoritePage::find_link('additem', $this->owner->ID);
    13     }
    14
    15     function DeleteFavoriteLink() {
    16         return FavoritePage::find_link('deleteitem', $this->owner->ID);
    17     }
    18
    19     // Геттер находится ли текущий товар в избранном у данного пользователя
    20     // (узнать нуна ли учитывать неавторизованных пользователей)
    21     function IsFavorite() {
    22         $IDs = FavoritePage::get_user_favorites();
    23         $IDs = explode(',', $IDs);
    24         $isFavorite = array_search($this->owner->ID, $IDs);
    25         return ($isFavorite === false) ? false : true;
    26     }
    27
    28     // Для совместимости со старыми сайтами
    29     function isFavoriteProduct() {
    30         return $this->owner->IsFavorite();
    31     }
    32 }
    33

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -