【发布时间】:2015-01-28 13:12:19
【问题描述】:
在 Magento 中向产品插入标签所需的代码是什么?
谢谢
【问题讨论】:
-
嗨,欢迎!这里的人很可能很乐意提供帮助,但您必须付出一些努力:许多人可以帮助解决特定的问题/问题,但不会同意只是给您代码.
-
好的,我需要知道 ORM 实体类的名称才能在产品中插入标签。
在 Magento 中向产品插入标签所需的代码是什么?
谢谢
【问题讨论】:
$tagName = 'php';
$customerID = NULL;
$storeId = Mage::app()->getStore()->getId();
$productID = 1;
$tagModel = Mage::getModel('tag/tag');
$tagModel->loadByName($tagName);
//$tagModel->unsetData()->loadByName($tagName); //if using a loop
if (!$tagModel->getId()) {
$tagModel->setName($tagName)
->setFirstCustomerId($customerId)
->setFirstStoreId($storeId)
->setStatus($tagModel->getPendingStatus())
->save();
}
$relationStatus = $tagModel->saveRelation($productId, $customerId, $storeId);
【讨论】:
默认情况下,Magento 开发人员可以选择允许客户标记您的产品。当客户标记某个产品时,该标记会显示为待处理,必须经过批准才能显示在产品页面上。
让我们为我们的产品添加一个标签,批准它,然后看看它是如何显示在产品页面上的。要为产品添加标签,只需在产品页面上的“添加您的标签:”字段中写入标签词,然后单击“添加标签”。我们将添加“Great”作为标签。将显示一条确认消息,说明该标签已被接受审核:
Magento 新标签
现在转到您的 Magento 管理区域 > 目录 > 标签 > 待定标签以查看所有待定标签。在我们的例子中,“Great”这个词只有一个待定标签:
Magento 待处理标签
点击它,您将被带到一个页面,您可以在其中更改标签的状态。它将显示为“Pending”,所以我们不要将其更改为“Approved”,然后单击 Save Tag。
现在标签已获得批准,所有其他客户都将在产品页面上看到它。
您还可以按产品管理标签。转到您的 Magento 管理区域 > 目录 > 管理产品,然后单击要检查其标签的产品。然后从左侧菜单中单击产品标签,您将看到该产品的所有标签。
【讨论】:
这是默认的 magento 功能。目录->后端的标签。
【讨论】:
看看它在 Magento 中是如何完成的。请参阅 Mage_Tag_IndexController 类中的 saveAction 方法 (app/code/core/Mage/Tag/controllers/IndexController.php)
【讨论】: