PHP code example of teamneusta / pimcore-fixture-bundle
1. Go to this page and download the library: Download teamneusta/pimcore-fixture-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
teamneusta / pimcore-fixture-bundle example snippets
use Neusta\Pimcore\FixtureBundle\Fixture\AbstractFixture;
use Pimcore\Model\DataObject\Product;
final class ProductFixture extends AbstractFixture
{
public function create(): void
{
for ($i = 1; $i <= 20; $i++) {
$product = new Product();
$product->setParentId(0);
$product->setPublished(true);
$product->setKey("Product {$i}");
// ...
$product->save();
}
}
}
use Neusta\Pimcore\FixtureBundle\Fixture\AbstractFixture;
use Pimcore\Model\DataObject\ProductGroup;
final class ProductGroupFixture extends AbstractFixture
{
public function create(): void
{
$productGroup = new ProductGroup();
$productGroup->setParentId(0);
$productGroup->setPublished(true);
$productGroup->setKey('My Product Group');
$productGroup->save();
$this->addReference('my-product-group', $productGroup);
}
}
use Neusta\Pimcore\FixtureBundle\Fixture\AbstractFixture;
use Neusta\Pimcore\FixtureBundle\Fixture\HasDependencies;
use Pimcore\Model\DataObject\Product;
use Pimcore\Model\DataObject\ProductGroup;
final class ProductFixture extends AbstractFixture implements HasDependencies
{
public function create(): void
{
$productGroup = $this->getReference('my-product-group', ProductGroup::class);
$product = new Product();
$product->setParentId(0);
$product->setPublished(true);
$product->setKey('My grouped Product');
$product->setProductGroup($productGroup);
$product->save();
}
public function getDependencies(): array
{
return [
ProductGroupFixture::class,
];
}
}
use Neusta\Pimcore\FixtureBundle\Fixture;
use Pimcore\Test\KernelTestCase;
abstract class BaseKernelTestCase extends KernelTestCase
{
/**
* @param list<class-string<Fixture>> $fixtures
*/
protected function importFixtures(array $fixtures): void
{
/** @var SelectiveFixtureLoader $fixtureLoader */
$fixtureLoader = static::getContainer()->get(SelectiveFixtureLoader::class);
$fixtureLoader->setFixturesToLoad($fixtures)->loadFixtures();
}
protected function tearDown(): void
{
\Pimcore\Cache::clearAll();
\Pimcore::collectGarbage();
parent::tearDown();
}
}
use Pimcore\Model\DataObject;
final class MyCustomTest extends BaseKernelTestCase
{
/** @test */
public function import_fixtures(): void
{
$this->importFixtures([
ProductFixture::class,
]);
$productFixture = DataObject::getByPath('/product-1');
self::assertNotNull($productFixture);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.