Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
Shipment Class Reference
Inheritance diagram for Shipment:
AbstractItems AbstractItems AbstractModel DataObject

Public Member Functions

 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Tax\Helper\Data $taxData, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\Stdlib\StringUtils $string, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[], Json $serializer=null)
 
 draw ()
 
- Public Member Functions inherited from AbstractItems
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Tax\Helper\Data $taxData, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[], Json $serializer=null)
 
 getChildren ($item)
 
 isShipmentSeparately ($item=null)
 
 isChildCalculated ($item=null)
 
 getBundleOptions ($item=null)
 
 getSelectionAttributes ($item)
 
 getOrderOptions ($item=null)
 
 getOrderItem ()
 
 getValueHtml ($item)
 
 canShowPriceInfo ($item)
 
- Public Member Functions inherited from AbstractItems
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Tax\Helper\Data $taxData, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Filter\FilterManager $filterManager, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 setOrder (\Magento\Sales\Model\Order $order)
 
 setSource (\Magento\Framework\Model\AbstractModel $source)
 
 setItem (\Magento\Framework\DataObject $item)
 
 setPdf (\Magento\Sales\Model\Order\Pdf\AbstractPdf $pdf)
 
 setPage (\Zend_Pdf_Page $page)
 
 getOrder ()
 
 getSource ()
 
 getItem ()
 
 getPdf ()
 
 getPage ()
 
 draw ()
 
 getItemPricesForDisplay ()
 
 getItemOptions ()
 
 getSku ($item)
 
- Public Member Functions inherited from AbstractModel
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 __sleep ()
 
 __wakeup ()
 
 setIdFieldName ($name)
 
 getIdFieldName ()
 
 getId ()
 
 setId ($value)
 
 isDeleted ($isDeleted=null)
 
 hasDataChanges ()
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 setDataChanges ($value)
 
 getOrigData ($key=null)
 
 setOrigData ($key=null, $data=null)
 
 dataHasChangedFor ($field)
 
 getResourceName ()
 
 getResourceCollection ()
 
 getCollection ()
 
 load ($modelId, $field=null)
 
 beforeLoad ($identifier, $field=null)
 
 afterLoad ()
 
 isSaveAllowed ()
 
 setHasDataChanges ($flag)
 
 save ()
 
 afterCommitCallback ()
 
 isObjectNew ($flag=null)
 
 beforeSave ()
 
 validateBeforeSave ()
 
 getCacheTags ()
 
 cleanModelCache ()
 
 afterSave ()
 
 delete ()
 
 beforeDelete ()
 
 afterDelete ()
 
 afterDeleteCommit ()
 
 getResource ()
 
 getEntityId ()
 
 setEntityId ($entityId)
 
 clearInstance ()
 
 getStoredData ()
 
 getEventPrefix ()
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Protected Attributes

 $string
 
- Protected Attributes inherited from AbstractItems
 $_order
 
 $_source
 
 $_item
 
 $_pdf
 
 $_pdfPage
 
 $_taxData
 
 $_rootDirectory
 
 $filterManager
 
- Protected Attributes inherited from AbstractModel
 $_eventPrefix = 'core_abstract'
 
 $_eventObject = 'object'
 
 $_idFieldName = 'id'
 
 $_hasDataChanges = false
 
 $_origData
 
 $_isDeleted = false
 
 $_resource
 
 $_resourceCollection
 
 $_resourceName
 
 $_collectionName
 
 $_cacheTag = false
 
 $_dataSaveAllowed = true
 
 $_isObjectNew = null
 
 $_validatorBeforeSave = null
 
 $_eventManager
 
 $_cacheManager
 
 $_registry
 
 $_logger
 
 $_appState
 
 $_actionValidator
 
 $storedData = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractItems
 _formatOptionValue ($value)
 
 _setFontRegular ($size=7)
 
 _setFontBold ($size=7)
 
 _setFontItalic ($size=7)
 
- Protected Member Functions inherited from AbstractModel
 _construct ()
 
 _init ($resourceModel)
 
 _setResourceModel ($resourceName, $collectionName=null)
 
 _getResource ()
 
 _getEventData ()
 
 _beforeLoad ($modelId, $field=null)
 
 _afterLoad ()
 
 _hasModelChanged ()
 
 _getValidatorBeforeSave ()
 
 _createValidatorBeforeSave ()
 
 _getValidationRulesBeforeSave ()
 
 _clearReferences ()
 
 _clearData ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 
- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

Order shipment pdf items renderer

Definition at line 14 of file Shipment.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Model\Context  $context,
\Magento\Framework\Registry  $registry,
\Magento\Tax\Helper\Data  $taxData,
\Magento\Framework\Filesystem  $filesystem,
\Magento\Framework\Filter\FilterManager  $filterManager,
\Magento\Framework\Stdlib\StringUtils  $string,
\Magento\Framework\Model\ResourceModel\AbstractResource  $resource = null,
\Magento\Framework\Data\Collection\AbstractDb  $resourceCollection = null,
array  $data = [],
Json  $serializer = null 
)

Constructor

Parameters
\Magento\Framework\Model\Context$context
\Magento\Framework\Registry$registry
\Magento\Tax\Helper\Data$taxData
\Magento\Framework\Filesystem$filesystem
\Magento\Framework\Filter\FilterManager$filterManager
\Magento\Framework\Stdlib\StringUtils$string
\Magento\Framework\Model\ResourceModel\AbstractResource$resource
\Magento\Framework\Data\Collection\AbstractDb$resourceCollection
array$data
\Magento\Framework\Serialize\Serializer\Json | null$serializer@SuppressWarnings(PHPMD.ExcessiveParameterList)

Definition at line 36 of file Shipment.php.

47  {
48  $this->string = $string;
49  parent::__construct(
50  $context,
51  $registry,
52  $taxData,
55  $resource,
56  $resourceCollection,
57  $data,
58  $serializer
59  );
60  }
$resource
Definition: bulk.php:12
$filesystem

Member Function Documentation

◆ draw()

draw ( )

Draw item line

Returns
void @SuppressWarnings(PHPMD.CyclomaticComplexity) @SuppressWarnings(PHPMD.NPathComplexity) @SuppressWarnings(PHPMD.ExcessiveMethodLength)

Definition at line 70 of file Shipment.php.

71  {
72  $item = $this->getItem();
73  $pdf = $this->getPdf();
74  $page = $this->getPage();
75 
76  $this->_setFontRegular();
77 
78  $shipItems = $this->getChildren($item);
79  $items = array_merge([$item->getOrderItem()], $item->getOrderItem()->getChildrenItems());
80 
81  $prevOptionId = '';
82  $drawItems = [];
83 
84  foreach ($items as $childItem) {
85  $line = [];
86 
87  $attributes = $this->getSelectionAttributes($childItem);
88  if (is_array($attributes)) {
89  $optionId = $attributes['option_id'];
90  } else {
91  $optionId = 0;
92  }
93 
94  if (!isset($drawItems[$optionId])) {
95  $drawItems[$optionId] = ['lines' => [], 'height' => 15];
96  }
97 
98  if ($childItem->getParentItem()) {
99  if ($prevOptionId != $attributes['option_id']) {
100  $line[0] = [
101  'font' => 'italic',
102  'text' => $this->string->split($attributes['option_label'], 60, true, true),
103  'feed' => 60,
104  ];
105 
106  $drawItems[$optionId] = ['lines' => [$line], 'height' => 15];
107 
108  $line = [];
109 
110  $prevOptionId = $attributes['option_id'];
111  }
112  }
113 
114  if ($this->isShipmentSeparately() && $childItem->getParentItem() ||
115  !$this->isShipmentSeparately() && !$childItem->getParentItem()
116  ) {
117  if (isset($shipItems[$childItem->getId()])) {
118  $qty = $shipItems[$childItem->getId()]->getQty() * 1;
119  } elseif ($childItem->getIsVirtual()) {
120  $qty = __('N/A');
121  } else {
122  $qty = 0;
123  }
124  } else {
125  $qty = '';
126  }
127 
128  $line[] = ['text' => $qty, 'feed' => 35];
129 
130  // draw Name
131  if ($childItem->getParentItem()) {
132  $feed = 65;
133  $name = $this->getValueHtml($childItem);
134  } else {
135  $feed = 60;
136  $name = $childItem->getName();
137  }
138  $text = [];
139  foreach ($this->string->split($name, 60, true, true) as $part) {
140  $text[] = $part;
141  }
142  $line[] = ['text' => $text, 'feed' => $feed];
143 
144  // draw SKUs
145  $text = [];
146  foreach ($this->string->split($childItem->getSku(), 25) as $part) {
147  $text[] = $part;
148  }
149  $line[] = ['text' => $text, 'feed' => 440];
150 
151  $drawItems[$optionId]['lines'][] = $line;
152  }
153 
154  // custom options
155  $options = $item->getOrderItem()->getProductOptions();
156  if ($options) {
157  if (isset($options['options'])) {
158  foreach ($options['options'] as $option) {
159  $lines = [];
160  $lines[][] = [
161  'text' => $this->string->split(
162  $this->filterManager->stripTags($option['label']),
163  70,
164  true,
165  true
166  ),
167  'font' => 'italic',
168  'feed' => 60,
169  ];
170 
171  if ($option['value']) {
172  $text = [];
173  $printValue = isset(
174  $option['print_value']
175  ) ? $option['print_value'] : $this->filterManager->stripTags(
176  $option['value']
177  );
178  $values = explode(', ', $printValue);
179  foreach ($values as $value) {
180  foreach ($this->string->split($value, 50, true, true) as $subValue) {
181  $text[] = $subValue;
182  }
183  }
184 
185  $lines[][] = ['text' => $text, 'feed' => 65];
186  }
187 
188  $drawItems[] = ['lines' => $lines, 'height' => 15];
189  }
190  }
191  }
192 
193  $page = $pdf->drawLineBlocks($page, $drawItems, ['table_header' => true]);
194  $this->setPage($page);
195  }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
$values
Definition: options.phtml:88
__()
Definition: __.php:13
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43
$value
Definition: gender.phtml:16
$page
Definition: pages.php:8
$attributes
Definition: matrix.phtml:13
$items
if(!isset($_GET['name'])) $name
Definition: log.php:14

Field Documentation

◆ $string

$string
protected

Definition at line 19 of file Shipment.php.


The documentation for this class was generated from the following file: