Beispiel #1
0
/**
* Generates a Magento 2.1 ui grid listing and support classes.
*
* @command magento2:generate:ui:add-column-sections
* @argument listing_file Which Listing File? []
* @argument column_name Column Name? [ids]
* @argument index_field Index Field/Primary Key? [entity_id]
*/
function pestle_cli($argv)
{
    $xml = simplexml_load_file($argv['listing_file']);
    validateAsListing($xml);
    $columns = getOrCreateColumnsNode($xml);
    $sectionsColumn = $columns->addChild('selectionsColumn');
    $sectionsColumn->addAttribute('name', $argv['column_name']);
    $argument = addArgument($sectionsColumn, 'data', 'array');
    $configItem = addItem($argument, 'config', 'array');
    $indexField = addItem($configItem, 'indexField', 'string', $argv['index_field']);
    writeStringToFile($argv['listing_file'], formatXmlString($xml->asXml()));
}
Beispiel #2
0
/**
* Generates a Magento 2.1 ui grid listing and support classes.
*
* @command magento2:generate:ui:add-column-actions
* @argument listing_file Which Listing File? []
* @argument index_field Index Field/Primary Key? [entity_id]
*/
function pestle_cli($argv)
{
    $xml = simplexml_load_file($argv['listing_file']);
    validateAsListing($xml);
    $actionsClass = generatePageActionsClassFromListingXmlFileAndXml($argv['listing_file'], $xml);
    $columns = getOrCreateColumnsNode($xml);
    $actionsColumn = $columns->addChild('actionsColumn');
    $actionsColumn->addAttribute('name', 'actions');
    $actionsColumn->addAttribute('class', $actionsClass);
    $argument = addArgument($actionsColumn, 'data', 'array');
    $configItem = addItem($argument, 'config', 'array');
    $indexField = addItem($configItem, 'indexField', 'string', $argv['index_field']);
    output(formatXmlString($xml->asXml()));
    // <actionsColumn name="actions" class="Pulsestorm\ToDoCrud\Ui\Component\Listing\Column\Pulsestormtodolisting\PageActions">
    //     <argument name="data" xsi:type="array">
    //         <item name="config" xsi:type="array">
    //             <item name="resizeEnabled" xsi:type="boolean">false</item>
    //             <item name="resizeDefaultWidth" xsi:type="string">107</item>
    //             <item name="indexField" xsi:type="string">pulsestorm_todocrud_todoitem_id</item>
    //         </item>
    //     </argument>
    // </actionsColumn>
}
Beispiel #3
0
function generateDiXml($module_info)
{
    $path_di = $module_info->folder . '/etc/adminhtml/di.xml';
    if (!file_exists($path_di)) {
        $xml = simplexml_load_string(getBlankXml('di'));
        writeStringToFile($path_di, $xml->asXml());
        output("Created new {$path_di}");
    }
    $xml = simplexml_load_file($path_di);
    $item = simpleXmlAddNodesXpath($xml, 'type[@name=Magento\\Framework\\View\\Element\\UiComponent\\DataProvider\\CollectionFactory]/' . 'arguments/argument[@name=collections,@xsi:type=array]/' . 'item[@name=pulsestorm_commercebug_log_data_source,@xsi:type=string]');
    $item[0] = 'Pulsestorm\\Commercebug\\Model\\ResourceModel\\Log\\Grid\\Collection';
    $virtualType = addVirtualType($xml, 'Pulsestorm\\Commercebug\\Model\\ResourceModel\\Log\\Grid\\Collection', 'Magento\\Framework\\View\\Element\\UiComponent\\DataProvider\\SearchResult');
    $arguments = $virtualType->addChild('arguments');
    $argument = addArgument($arguments, 'mainTable', 'string', 'pulsestorm_commercebug_log');
    $argument = addArgument($arguments, 'resourceModel', 'string', 'Pulsestorm\\Commercebug\\Model\\ResourceModel\\Log');
    return $xml;
}