本文整理匯總了PHP中Magento\Catalog\Model\Category::getPosition方法的典型用法代碼示例。如果您正苦於以下問題:PHP Category::getPosition方法的具體用法?PHP Category::getPosition怎麽用?PHP Category::getPosition使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Catalog\Model\Category
的用法示例。
在下文中一共展示了Category::getPosition方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _processPositions
/**
* Process positions of old parent category children and new parent category children.
* Get position for moved category
*
* @param \Magento\Catalog\Model\Category $category
* @param \Magento\Catalog\Model\Category $newParent
* @param null|int $afterCategoryId
* @return int
*/
protected function _processPositions($category, $newParent, $afterCategoryId)
{
$table = $this->getEntityTable();
$adapter = $this->_getWriteAdapter();
$positionField = $adapter->quoteIdentifier('position');
$bind = array('position' => new \Zend_Db_Expr($positionField . ' - 1'));
$where = array('parent_id = ?' => $category->getParentId(), $positionField . ' > ?' => $category->getPosition());
$adapter->update($table, $bind, $where);
/**
* Prepare position value
*/
if ($afterCategoryId) {
$select = $adapter->select()->from($table, 'position')->where('entity_id = :entity_id');
$position = $adapter->fetchOne($select, array('entity_id' => $afterCategoryId));
$position += 1;
} else {
$position = 1;
}
$bind = array('position' => new \Zend_Db_Expr($positionField . ' + 1'));
$where = array('parent_id = ?' => $newParent->getId(), $positionField . ' >= ?' => $position);
$adapter->update($table, $bind, $where);
return $position;
}
示例2: getPosition
/**
* {@inheritdoc}
*/
public function getPosition()
{
$pluginInfo = $this->pluginList->getNext($this->subjectType, 'getPosition');
if (!$pluginInfo) {
return parent::getPosition();
} else {
return $this->___callPlugins('getPosition', func_get_args(), $pluginInfo);
}
}