本文整理汇总了PHP中Magento\Framework\Model\AbstractModel::getUrlKey方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractModel::getUrlKey方法的具体用法?PHP AbstractModel::getUrlKey怎么用?PHP AbstractModel::getUrlKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\Model\AbstractModel
的用法示例。
在下文中一共展示了AbstractModel::getUrlKey方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _beforeSave
/**
* Process group data before saving
*
* @param \Magento\Framework\Model\AbstractModel $object
* @return $this
* @throws \Magento\Framework\Exception\LocalizedException
*/
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
{
$connection = $this->getConnection();
$select = $connection->select()->from($this->getTable('ves_brand_group'), 'url_key')->where('url_key = ?', $object->getUrlKey())->where('group_id != ?', $object->getId());
$result = $connection->fetchCol($select);
if (count($result) > 0) {
throw new \Magento\Framework\Exception\LocalizedException(__('URL key already exists.' . count($result)));
}
return parent::_beforeSave($object);
}
示例2: getUrlPath
/**
* Build category URL path
*
* @param \Magento\Catalog\Api\Data\CategoryInterface|\Magento\Framework\Model\AbstractModel $category
* @return string
*/
public function getUrlPath($category)
{
if ($category->getParentId() == Category::TREE_ROOT_ID) {
return '';
}
$path = $category->getUrlPath();
if ($path !== null && !$category->dataHasChangedFor('url_key') && !$category->dataHasChangedFor('parent_id')) {
return $path;
}
$path = $category->getUrlKey();
if ($path === false) {
return $category->getUrlPath();
}
if ($this->isNeedToGenerateUrlPathForParent($category)) {
$parentPath = $this->getUrlPath($this->categoryRepository->get($category->getParentId()));
$path = $parentPath === '' ? $path : $parentPath . '/' . $path;
}
return $path;
}
示例3: isPostUrlKeyUnique
protected function isPostUrlKeyUnique(\Magento\Framework\Model\AbstractModel $object)
{
$post_id = $this->checkUrlKey($object->getUrlKey());
return $post_id == $object->getData('post_id') || $post_id == null;
}
示例4: _beforeSave
/**
* before save callback
*
* @param \Magento\Framework\Model\AbstractModel|\Mageplaza\Blog\Model\Topic $object
* @return $this
*/
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
{
$object->setUpdatedAt($this->date->date());
if ($object->isObjectNew()) {
$object->setCreatedAt($this->date->date());
}
//Check Url Key
if ($object->isObjectNew()) {
$count = 0;
$objName = $object->getName();
if ($object->getUrlKey()) {
$urlKey = $object->getUrlKey();
} else {
$urlKey = $this->generateUrlKey($objName, $count);
}
while ($this->checkUrlKey($urlKey)) {
$count++;
$urlKey = $this->generateUrlKey($urlKey, $count);
}
$object->setUrlKey($urlKey);
} else {
$objectId = $object->getId();
$count = 0;
$objName = $object->getName();
if ($object->getUrlKey()) {
$urlKey = $object->getUrlKey();
} else {
$urlKey = $this->generateUrlKey($objName, $count);
}
while ($this->checkUrlKey($urlKey, $objectId)) {
$count++;
$urlKey = $this->generateUrlKey($urlKey, $count);
}
$object->setUrlKey($urlKey);
}
return parent::_beforeSave($object);
}
示例5: checkUrlExits
public function checkUrlExits(\Magento\Framework\Model\AbstractModel $object)
{
$stores = $object->getStores();
$connection = $this->getConnection();
$select = $connection->select()->from($this->getTable('ves_brand'), 'brand_id')->where('url_key = ?', $object->getUrlKey())->where('brand_id != ?', $object->getId());
$brandIds = $connection->fetchCol($select);
if (count($brandIds) > 0 && is_array($stores)) {
if (in_array('0', $stores)) {
throw new \Magento\Framework\Exception\LocalizedException(__('URL key for specified store already exists.'));
}
$stores[] = '0';
$select = $connection->select()->from($this->getTable('ves_brand_store'), 'brand_id')->where('brand_id IN (?)', $brandIds)->where('store_id IN (?)', $stores);
$result = $connection->fetchCol($select);
if (count($result) > 0) {
throw new \Magento\Framework\Exception\LocalizedException(__('URL key for specified store already exists.'));
}
}
return $this;
}