Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
gallery.phtml
Go to the documentation of this file.
1 <?php
7 // @codingStandardsIgnoreFile
8 
9 ?>
10 <tr>
11 <td colspan="2">
12 <label for="gallery"><?= /* @escapeNotVerified */ __('Images') ?></label>
13 <table id="gallery" class="gallery" border="0" cellspacing="3" cellpadding="0">
14 <thead id="gallery_thead" class="gallery">
15  <tr class="gallery">
16  <td class="gallery" valign="middle" align="center"><?= /* @escapeNotVerified */ __('Big Image') ?></td>
17  <td class="gallery" valign="middle" align="center"><?= /* @escapeNotVerified */ __('Thumbnail') ?></td>
18  <td class="gallery" valign="middle" align="center"><?= /* @escapeNotVerified */ __('Sort Order') ?></td>
19  <td class="gallery" valign="middle" align="center"><?= /* @escapeNotVerified */ __('Delete') ?></td>
20  </tr>
21 </thead>
22 
23 <tfoot class="gallery">
24 <tr class="gallery">
25 <td class="gallery v-middle a-left"colspan="5"><?= $block->getAddButtonHtml() ?></td>
26 </tr>
27 </tfoot>
28 
29 <tbody class="gallery">
30 
31 <?php $i = 0; if (!is_null($block->getValues())): ?>
32  <?php foreach ($block->getValues() as $image): $i++; ?>
33  <tr id="<?= $block->getElement()->getHtmlId() ?>_tr_<?= /* @escapeNotVerified */ $image->getValueId() ?>" class="gallery">
34  <?php foreach ($block->getValues()->getAttributeBackend()->getImageTypes() as $type): ?>
35  <td class="gallery" align="center" style="vertical-align:bottom;">
36  <a href="<?= /* @escapeNotVerified */ $image->setType($type)->getSourceUrl() ?>" target="_blank" onclick="imagePreview('<?= $block->getElement()->getHtmlId() ?>_image_<?= /* @escapeNotVerified */ $type ?>_<?= /* @escapeNotVerified */ $image->getValueId() ?>');return false;">
37  <img id="<?= $block->getElement()->getHtmlId() ?>_image_<?= /* @escapeNotVerified */ $type ?>_<?= /* @escapeNotVerified */ $image->getValueId() ?>" src="<?= /* @escapeNotVerified */ $image->setType($type)->getSourceUrl() ?>?<?= /* @escapeNotVerified */ time() ?>" alt="<?= /* @escapeNotVerified */ $image->getValue() ?>" title="<?= /* @escapeNotVerified */ $image->getValue() ?>" height="25" class="small-image-preview v-middle"/></a><br/>
38  <input type="file" name="<?= /* @escapeNotVerified */ $block->getElement()->getName() ?>_<?= /* @escapeNotVerified */ $type ?>[<?= /* @escapeNotVerified */ $image->getValueId() ?>]" size="1"></td>
39  <?php endforeach; ?>
40  <td class="gallery" align="center" style="vertical-align:bottom;"><input type="input" name="<?= /* @escapeNotVerified */ $block->getElement()->getParentName() ?>[position][<?= /* @escapeNotVerified */ $image->getValueId() ?>]" value="<?= /* @escapeNotVerified */ $image->getPosition() ?>" id="<?= $block->getElement()->getHtmlId() ?>_position_<?= /* @escapeNotVerified */ $image->getValueId() ?>" size="3"/></td>
41  <td class="gallery" align="center" style="vertical-align:bottom;"><?= $block->getDeleteButtonHtml($image->getValueId()) ?><input type="hidden" name="<?= /* @escapeNotVerified */ $block->getElement()->getParentName() ?>[delete][<?= /* @escapeNotVerified */ $image->getValueId() ?>]" id="<?= $block->getElement()->getHtmlId() ?>_delete_<?= /* @escapeNotVerified */ $image->getValueId() ?>"/></td>
42  </tr>
43  <?php endforeach; ?>
44 <?php endif; ?>
45 
46 <?php if ($i == 0): ?>
47  <script>
48 document.getElementById("gallery_thead").style.visibility="hidden";
49 </script>
50 <?php endif; ?>
51 
52 </tbody></table>
53 
54 <script>
55 require([
56  'prototype'
57 ], function () {
58 id = 0;
59 num_of_images = <?= /* @escapeNotVerified */ $i ?>;
60 
61 window.addNewImage = function()
62 {
63 
64  document.getElementById("gallery_thead").style.visibility="visible";
65 
66  id--;
67  num_of_images++;
68  new_file_input = '<input type="file" name="<?= /* @escapeNotVerified */ $block->getElement()->getName() ?>_%j%[%id%]" size="1">';
69 
70  // Sort order input
71  var new_row_input = document.createElement( 'input' );
72  new_row_input.type = 'text';
73  new_row_input.name = '<?= /* @escapeNotVerified */ $block->getElement()->getParentName() ?>[position]['+id+']';
74  new_row_input.size = '3';
75  new_row_input.value = '0';
76 
77  // Delete button
78  new_row_button = <?= /* @escapeNotVerified */ $this->helper('Magento\Framework\Json\Helper\Data')->jsonEncode($block->getDeleteButtonHtml("this")) ?>;
79 
80  table = document.getElementById( "gallery" );
81 
82  // no of rows in the table:
83  noOfRows = table.rows.length;
84 
85  // no of columns in the pre-last row:
86  noOfCols = table.rows[noOfRows-2].cells.length;
87 
88  // insert row at pre-last:
89  var x=table.insertRow(noOfRows-1);
90 
91  // insert cells in row.
92  for (var j = 0; j < noOfCols; j++) {
93 
94  newCell = x.insertCell(j);
95  newCell.align = "center";
96  newCell.valign = "middle";
97 
98  if (j==2) {
99  newCell.appendChild( new_row_input );
100  } else if (j==3) {
101  newCell.innerHTML = new_row_button;
102  } else {
103  newCell.innerHTML = new_file_input.replace(/%j%/g, j).replace(/%id%/g, id);
104  }
105 
106  }
107 
108 }
109 
110 window.deleteImage = function(image)
111 {
112  num_of_images--;
113  if (num_of_images<=0) {
114  document.getElementById("gallery_thead").style.visibility="hidden";
115  }
116  if (image>0) {
117  document.getElementById('<?= /* @escapeNotVerified */ $block->getElement()->getName() ?>_delete_'+image).value=image;
118  document.getElementById('<?= /* @escapeNotVerified */ $block->getElement()->getName() ?>_tr_'+image).style.display='none';
119  } else {
120  image.parentNode.parentNode.parentNode.removeChild( image.parentNode.parentNode );
121  }
122 }
123 });
124 </script>
125  </td>
126 </tr>
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
Definition: block.php:9
__()
Definition: __.php:13
$block
Definition: block.php:8
$type
Definition: item.phtml:13
endif
Definition: gallery.phtml:44
if($block->getLink()) line height
Definition: email.phtml:11
$i
Definition: gallery.phtml:31
endforeach
Definition: gallery.phtml:41