PHP code example of ezsystems / ez-matrix-bundle

1. Go to this page and download the library: Download ezsystems/ez-matrix-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/ */

    

ezsystems / ez-matrix-bundle example snippets


public function registerBundles()
{
    ...

    $bundles[] = new EzSystems\MatrixBundle\EzSystemsMatrixBundle();

    return $bundles;
}

$repository = $this->getContainer()->get( 'ezpublish.api.repository' );
$contentService = $repository->getContentService();

// This example for setting a current user is valid for 5.x and early versions of 6.x installs
// This is deprecated from 6.6, and you should use PermissionResolver::setCurrentUserReference() instead
$repository->setCurrentUser( $repository->getUserService()->loadUser( 14 ) );

$contentId = 26926;
$newTitle = 'My updated title 2';

try
{
    // create a content draft from the current published version
    $contentInfo = $contentService->loadContentInfo( $contentId );
    $contentDraft = $contentService->createContentDraft( $contentInfo );

    // instantiate a content update struct and set the new fields
    $contentUpdateStruct = $contentService->newContentUpdateStruct();
    $contentUpdateStruct->initialLanguageCode = 'eng-US'; // set language for new version
    $matrixValue = new \EzSystems\MatrixBundle\FieldType\Matrix\Value(
        array(
            new \EzSystems\MatrixBundle\FieldType\Matrix\Row( array( 'col1' => 'row1col1', 'col2' => 'row1col2' ) ),
            new \EzSystems\MatrixBundle\FieldType\Matrix\Row( array( 'col1' => 'row2col2', 'col2' => 'row2col2' ) ),
        ),
        array(
            new \EzSystems\MatrixBundle\FieldType\Matrix\Column( array( 'name' => 'Column 1', 'id' => 'col1', 'num' => 0 ) ),
            new \EzSystems\MatrixBundle\FieldType\Matrix\Column( array( 'name' => 'Column 2', 'id' => 'col2', 'num' => 1 ) ),
        )
    );
    $contentUpdateStruct->setField( 'title', $newTitle );
    $contentUpdateStruct->setField( 'matrix', $matrixValue );
    // update and publish draft
    $contentDraft = $contentService->updateContent( $contentDraft->versionInfo, $contentUpdateStruct );
    $content = $contentService->publishVersion( $contentDraft->versionInfo );
}
catch ( \eZ\Publish\API\Repository\Exceptions\NotFoundException $e )
{
    $output->writeln( $e->getMessage() );
}
catch( \eZ\Publish\API\Repository\Exceptions\ContentFieldValidationException $e )
{
    $output->writeln( $e->getMessage() );
}
catch( \eZ\Publish\API\Repository\Exceptions\ContentValidationException $e )
{
    $output->writeln( $e->getMessage() );
}

php -d memory_limit=-1 composer.phar