本文整理汇总了PHP中Magento\Catalog\Test\Fixture\Category::hasData方法的典型用法代码示例。如果您正苦于以下问题:PHP Category::hasData方法的具体用法?PHP Category::hasData怎么用?PHP Category::hasData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Catalog\Test\Fixture\Category
的用法示例。
在下文中一共展示了Category::hasData方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* @constructor
* @param FixtureFactory $fixtureFactory
* @param array $params
* @param array|int $data
*/
public function __construct(FixtureFactory $fixtureFactory, array $params, $data = [])
{
$this->params = $params;
if (isset($data['dataSet']) && $data['dataSet'] !== '-') {
$this->parentCategory = $fixtureFactory->createByCode('category', ['dataSet' => $data['dataSet']]);
if (!$this->parentCategory->hasData('id')) {
$this->parentCategory->persist();
}
$this->data = $this->parentCategory->getId();
} else {
$this->data = $data;
}
}
示例2: selectCategory
/**
* Select category by its name.
*
* @param Category|null $category
* @return void
*/
public function selectCategory($category)
{
if ($category != null && $category->hasData('name')) {
$this->_rootElement->find("//a[contains(text(),'{$category->getName()}')]", Locator::SELECTOR_XPATH)->click();
} else {
$this->skipCategorySelection();
}
}
示例3: processAssert
/**
* Assert that displayed assigned products on category page equals passed from fixture
*
* @param Category $category
* @param CatalogCategoryView $categoryView
* @param BrowserInterface $browser
* @return void
*/
public function processAssert(Category $category, CatalogCategoryView $categoryView, BrowserInterface $browser)
{
$categoryUrlKey = $category->hasData('url_key') ? strtolower($category->getUrlKey()) : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-');
$products = $category->getDataFieldConfig('category_products')['source']->getProducts();
$browser->open($_ENV['app_frontend_url'] . $categoryUrlKey . '.html');
foreach ($products as $productFixture) {
\PHPUnit_Framework_Assert::assertTrue($categoryView->getListProductBlock()->getProductItem($productFixture)->isVisible(), "Products '{$productFixture->getName()}' not find.");
}
}
示例4: prepareFullCategoryPath
/**
* Prepare category path.
*
* @param Category $category
* @return array
*/
protected function prepareFullCategoryPath(Category $category)
{
$path = [];
$parentCategory = $category->hasData('parent_id') ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() : null;
if ($parentCategory !== null) {
$path = $this->prepareFullCategoryPath($parentCategory);
}
return array_filter(array_merge($path, [$category->getName()]));
}
示例5: getCategoryUrl
/**
* Get category url to open.
*
* @param Category $category
* @return string
*/
protected function getCategoryUrl(Category $category)
{
$categoryUrlKey = [];
while ($category) {
$categoryUrlKey[] = $category->hasData('url_key') ? strtolower($category->getUrlKey()) : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-');
$category = $category->getDataFieldConfig('parent_id')['source']->getParentCategory();
if (1 == $category->getParentId()) {
$category = null;
}
}
return $_ENV['app_frontend_url'] . implode('/', array_reverse($categoryUrlKey)) . '.html';
}
示例6: prepareCategoryProducts
/**
* Prepare category products data for curl.
*
* @return void
*/
protected function prepareCategoryProducts()
{
$categoryProducts = [];
$defaultPosition = 0;
if ($this->fixture->hasData('category_products')) {
$products = $this->fixture->getDataFieldConfig('category_products')['source']->getProducts();
foreach ($products as $product) {
$categoryProducts[$product->getId()] = $defaultPosition;
}
}
$this->fields['category_products'] = json_encode($categoryProducts);
unset($this->fields['general']['category_products']);
}
示例7: prepareCategory
/**
* Prepare Category fixture with the updated data.
*
* @param Category $category
* @param Category $initialCategory
* @return Category
*/
protected function prepareCategory(Category $category, Category $initialCategory)
{
$parentCategory = $category->hasData('parent_id') ? $category->getDataFieldConfig('parent_id')['source']->getParentCategory() : $initialCategory->getDataFieldConfig('parent_id')['source']->getParentCategory();
$data = ['data' => array_merge($initialCategory->getData(), $category->getData(), ['parent_id' => ['source' => $parentCategory]])];
return $this->fixtureFactory->createByCode('category', $data);
}
示例8: getCategoryUrl
/**
* Get category url to open
*
* @param Category $category
* @return string
*/
protected function getCategoryUrl(Category $category)
{
$categoryUrlKey = $category->hasData('url_key') ? strtolower($category->getUrlKey()) : trim(strtolower(preg_replace('#[^0-9a-z%]+#i', '-', $category->getName())), '-');
return $_ENV['app_frontend_url'] . $categoryUrlKey . '.html';
}