本文整理汇总了PHP中Magento\Catalog\Model\Product::getName方法的典型用法代码示例。如果您正苦于以下问题:PHP Product::getName方法的具体用法?PHP Product::getName怎么用?PHP Product::getName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Catalog\Model\Product
的用法示例。
在下文中一共展示了Product::getName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: convertAttribute
/**
* Set current attribute to entry (for specified product)
*
* @param \Magento\Catalog\Model\Product $product
* @param \Magento\Framework\Gdata\Gshopping\Entry $entry
* @return \Magento\Framework\Gdata\Gshopping\Entry
*/
public function convertAttribute($product, $entry)
{
$url = $product->getProductUrl(false);
if ($url) {
$isStoreInUrl = $this->_scopeConfig->isSetFlag(\Magento\Store\Model\Store::XML_PATH_STORE_IN_URL, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
if (!$isStoreInUrl) {
$urlInfo = parse_url($url);
$store = $product->getStore()->getCode();
if (isset($urlInfo['query']) && $urlInfo['query'] != '') {
$url .= '&___store=' . $store;
} else {
$url .= '?___store=' . $store;
}
}
$links = $entry->getLink();
if (!is_array($links)) {
$links = [];
}
$link = $entry->getService()->newLink();
$link->setHref($url);
$link->setRel('alternate');
$link->setType('text/html');
if ($product->getName()) {
$link->setTitle($product->getName());
}
$links[0] = $link;
$entry->setLink($links);
}
return $entry;
}
示例2: prepareProducts
/**
* @return array
*/
protected function prepareProducts($price)
{
$this->product->load(1);
$productSecond = clone $this->product;
$productSecond->setId(null)->setUrlKey(null)->setSku(uniqid($this->product->getSku() . '-'))->setName(uniqid($this->product->getName() . '-'))->setWebsiteIds([1]);
$productSecond->save();
$productSecond->setPrice($price)->save();
$productThird = clone $this->product;
$productThird->setId(null)->setUrlKey(null)->setSku(uniqid($this->product->getSku() . '-'))->setName(uniqid($this->product->getName() . '-'))->setWebsiteIds([1])->save();
$productThird->setPrice($price)->save();
return [$productSecond->getId(), $productThird->getId()];
}
示例3: testProductsUpdate
/**
* @magentoDbIsolation enabled
* @magentoAppIsolation enabled
* @magentoConfigFixture current_store catalog/frontend/flat_catalog_product 1
* @magentoDataFixture Magento/Catalog/_files/product_simple.php
*/
public function testProductsUpdate()
{
$this->_product->load(1);
$this->_processor->reindexList([$this->_product->getId()]);
$categoryFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Catalog\\Model\\CategoryFactory');
$listProduct = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Catalog\\Block\\Product\\ListProduct');
$category = $categoryFactory->create()->load(2);
$layer = $listProduct->getLayer();
$layer->setCurrentCategory($category);
$productCollection = $layer->getProductCollection();
$this->assertCount(1, $productCollection);
/** @var $product \Magento\Catalog\Model\Product */
foreach ($productCollection as $product) {
$this->assertEquals($this->_product->getName(), $product->getName());
$this->assertEquals($this->_product->getShortDescription(), $product->getShortDescription());
}
}
示例4: getLabel
/**
* Return product image label
*
* @return string
*/
public function getLabel()
{
$label = $this->_product->getData($this->getType() . self::VAR_NAME_SEPARATOR . 'label');
if (empty($label)) {
$label = $this->_product->getName();
}
return $label;
}
示例5: getLabel
/**
* Return image label
*
* @return string
*/
public function getLabel()
{
$label = $this->_product->getData($this->getType() . '_' . 'label');
if (empty($label)) {
$label = $this->_product->getName();
}
return $label;
}
示例6: getName
/**
* {@inheritdoc}
*/
public function getName()
{
$pluginInfo = $this->pluginList->getNext($this->subjectType, 'getName');
if (!$pluginInfo) {
return parent::getName();
} else {
return $this->___callPlugins('getName', func_get_args(), $pluginInfo);
}
}
示例7: assertProductInfo
/**
* @param \Magento\Catalog\Model\Product $product
*/
private function assertProductInfo($product)
{
$data = [1 => ['sku' => 'simple', 'name' => 'Simple Product', 'price' => '10', 'qty' => '1', 'position' => '1'], 21 => ['sku' => 'virtual-product', 'name' => 'Virtual Product', 'price' => '10', 'qty' => '2', 'position' => '2']];
$productId = $product->getId();
$this->assertEquals($data[$productId]['sku'], $product->getSku());
$this->assertEquals($data[$productId]['name'], $product->getName());
$this->assertEquals($data[$productId]['price'], $product->getPrice());
$this->assertEquals($data[$productId]['qty'], $product->getQty());
$this->assertEquals($data[$productId]['position'], $product->getPosition());
}
示例8: testGetName
public function testGetName()
{
$this->assertEmpty($this->_model->getName());
$this->_model->setName('test');
$this->assertEquals('test', $this->_model->getName());
}
示例9: getSelectionTitlePrice
/**
* Get title price for selection product
*
* @param \Magento\Catalog\Model\Product $selection
* @param bool $includeContainer
* @return string
*/
public function getSelectionTitlePrice($selection, $includeContainer = true)
{
$priceTitle = '<span class="product-name">' . $this->escapeHtml($selection->getName()) . '</span>';
$priceTitle .= ' ' . ($includeContainer ? '<span class="price-notice">' : '') . '+' . $this->renderPriceString($selection, $includeContainer) . ($includeContainer ? '</span>' : '');
return $priceTitle;
}
示例10: setProduct
/**
* Add product data to stock item
*
* @param Product $product
* @return $this
*/
public function setProduct(Product $product)
{
$this->setProductId($product->getId())->setStoreId($product->getStoreId())->setProductTypeId($product->getTypeId())->setProductName($product->getName())->setProductStatusChanged($product->dataHasChangedFor('status'))->setProductChangedWebsites($product->getIsChangedWebsites());
return $this;
}
示例11: prepareProductUrlKey
/**
* Prepare url key for product
*
* @param \Magento\Catalog\Model\Product $product
* @return string
*/
protected function prepareProductUrlKey(\Magento\Catalog\Model\Product $product)
{
$urlKey = $product->getUrlKey();
return $product->formatUrlKey($urlKey === '' || $urlKey === null ? $product->getName() : $urlKey);
}
示例12: getObject
public function getObject(Product $product)
{
$type = $product->getTypeId();
$this->logger->start('CREATE RECORD ' . $product->getId() . ' ' . $this->logger->getStoreName($product->getStoreId()));
$defaultData = [];
$transport = new DataObject($defaultData);
$this->eventManager->dispatch('algolia_product_index_before', ['product' => $product, 'custom_data' => $transport]);
$defaultData = $transport->getData();
$visibility = (int) $product->getVisibility();
$visibleInCatalog = $this->visibility->getVisibleInCatalogIds();
$visibleInSearch = $this->visibility->getVisibleInSearchIds();
$customData = ['objectID' => $product->getId(), 'name' => $product->getName(), 'url' => $product->getProductUrl(false), 'visibility_search' => (int) in_array($visibility, $visibleInSearch), 'visibility_catalog' => (int) in_array($visibility, $visibleInCatalog)];
$additionalAttributes = $this->getAdditionalAttributes($product->getStoreId());
$groups = null;
if ($this->isAttributeEnabled($additionalAttributes, 'description')) {
$customData['description'] = $product->getDescription();
}
$categories = [];
$categories_with_path = [];
$_categoryIds = $product->getCategoryIds();
if (is_array($_categoryIds) && count($_categoryIds) > 0) {
$categoryCollection = $this->getAllCategories($_categoryIds);
$rootCat = $this->storeManager->getStore($product->getStoreId())->getRootCategoryId();
foreach ($categoryCollection as $category) {
// Check and skip all categories that is not
// in the path of the current store.
$path = $category->getPath();
$path_parts = explode('/', $path);
if (isset($path_parts[1]) && $path_parts[1] != $rootCat) {
continue;
}
$categoryName = $category->getName();
if ($categoryName) {
$categories[] = $categoryName;
}
$category->getUrlInstance()->setStore($product->getStoreId());
$path = [];
foreach ($category->getPathIds() as $treeCategoryId) {
$name = $this->getCategoryName($treeCategoryId, $product->getStoreId());
if ($name) {
$path[] = $name;
}
}
$categories_with_path[] = $path;
}
}
foreach ($categories_with_path as $result) {
for ($i = count($result) - 1; $i > 0; $i--) {
$categories_with_path[] = array_slice($result, 0, $i);
}
}
$categories_with_path = array_intersect_key($categories_with_path, array_unique(array_map('serialize', $categories_with_path)));
$categories_hierarchical = [];
$level_name = 'level';
foreach ($categories_with_path as $category) {
for ($i = 0; $i < count($category); $i++) {
if (isset($categories_hierarchical[$level_name . $i]) === false) {
$categories_hierarchical[$level_name . $i] = [];
}
$categories_hierarchical[$level_name . $i][] = implode(' /// ', array_slice($category, 0, $i + 1));
}
}
foreach ($categories_hierarchical as &$level) {
$level = array_values(array_unique($level));
}
foreach ($categories_with_path as &$category) {
$category = implode(' /// ', $category);
}
$customData['categories'] = $categories_hierarchical;
$customData['categories_without_path'] = $categories;
/** @var Image $imageHelper */
$imageHelper = $this->objectManager->create('Algolia\\AlgoliaSearch\\Helper\\Image');
if (false === isset($defaultData['thumbnail_url'])) {
$thumb = $imageHelper->init($product, 'thumbnail')->resize(75, 75);
$customData['thumbnail_url'] = $thumb->getUrl();
}
if (false === isset($defaultData['image_url'])) {
$image = $imageHelper->init($product, $this->config->getImageType())->resize($this->config->getImageWidth(), $this->config->getImageHeight());
$customData['image_url'] = $image->getUrl();
if ($this->isAttributeEnabled($additionalAttributes, 'media_gallery')) {
$product->load('media_gallery');
$customData['media_gallery'] = [];
$images = $product->getMediaGalleryImages();
if ($images) {
foreach ($images as $image) {
$customData['media_gallery'][] = str_replace(['https://', 'http://'], '//', $image->getUrl());
}
}
}
}
$sub_products = [];
$ids = null;
if ($type == 'configurable' || $type == 'grouped' || $type == 'bundle') {
if ($type == 'bundle') {
$ids = [];
$selection = $product->getTypeInstance(true)->getSelectionsCollection($product->getTypeInstance(true)->getOptionsIds($product), $product);
foreach ($selection as $option) {
$ids[] = $option->getProductId();
}
}
//.........这里部分代码省略.........
示例13: importProduct
/**
* Import product recurring payment information
* Returns false if it cannot be imported
*
* @param \Magento\Catalog\Model\Product $product
* @return $this|false
*/
public function importProduct(\Magento\Catalog\Model\Product $product)
{
if ($product->getIsRecurring() && is_array($product->getRecurringPayment())) {
// import recurring payment data
$this->addData($product->getRecurringPayment());
// automatically set product name if there is no schedule description
if (!$this->hasScheduleDescription()) {
$this->setScheduleDescription($product->getName());
}
// collect start datetime from the product options
$options = $product->getCustomOption(self::PRODUCT_OPTIONS_KEY);
if ($options) {
$options = unserialize($options->getValue());
if (is_array($options)) {
if (isset($options['start_datetime'])) {
$startDatetime = new \Magento\Framework\Stdlib\DateTime\Date($options['start_datetime'], \Magento\Framework\Stdlib\DateTime::DATETIME_INTERNAL_FORMAT);
$this->setNearestStartDatetime($startDatetime);
}
}
}
return $this->_filterValues();
}
return false;
}
示例14: setProduct
/**
* set product
*
* @return $this
*/
public function setProduct(\Magento\Catalog\Model\Product $product)
{
$this->setProductName($product->getName());
$this->setProductSku($product->getSku());
return $this;
}
示例15: generateProductUrlKeyPath
/**
* Generate product url key path
*
* @param \Magento\Catalog\Model\Product $product
* @return string
*/
public function generateProductUrlKeyPath($product)
{
$urlKey = $product->getUrlKey() == '' ? $product->formatUrlKey($product->getName()) : $product->formatUrlKey($product->getUrlKey());
return $urlKey;
}