/** * @param string $name * @return self */ public static function getByName($name) { try { $user = new static(); $user->getResource()->getByName($name); return $user; } catch (\Exception $e) { return false; } }
/** * @param $id * @param bool $create * @param bool $returnIdIfEmpty * @return static * @throws \Exception * @throws \Zend_Exception */ public static function getByKey($id, $create = false, $returnIdIfEmpty = false) { $cacheKey = "translation_" . $id; if (\Zend_Registry::isRegistered($cacheKey)) { return \Zend_Registry::get($cacheKey); } $translation = new static(); $idOriginal = $id; $id = mb_strtolower($id); if ($translation instanceof Model\Translation\Admin) { $languages = Tool\Admin::getLanguages(); } else { $languages = Tool::getValidLanguages(); } try { $translation->getResource()->getByKey(self::getValidTranslationKey($id)); } catch (\Exception $e) { if (!$create) { throw new \Exception($e->getMessage()); } else { $translation->setKey($id); $translation->setCreationDate(time()); $translation->setModificationDate(time()); $translations = array(); foreach ($languages as $lang) { $translations[$lang] = ""; } $translation->setTranslations($translations); $translation->save(); } } if ($returnIdIfEmpty) { $translations = $translation->getTranslations(); foreach ($languages as $language) { if (!array_key_exists($language, $translations) || empty($translations[$language])) { $translations[$language] = $idOriginal; } } $translation->setTranslations($translations); } // add to key cache \Zend_Registry::set($cacheKey, $translation); return $translation; }
public static function removeAllFromCart($cartId) { $cartItem = new static(); $cartItem->getResource()->removeAllFromCart($cartId); }