summaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/mods/mod_produktartikel/settings_edit.phtml32
-rw-r--r--views/produkt/index.phtml69
2 files changed, 97 insertions, 4 deletions
diff --git a/views/mods/mod_produktartikel/settings_edit.phtml b/views/mods/mod_produktartikel/settings_edit.phtml
index 49be190..604cd27 100644
--- a/views/mods/mod_produktartikel/settings_edit.phtml
+++ b/views/mods/mod_produktartikel/settings_edit.phtml
@@ -23,6 +23,38 @@
<?php echo wpsg_drawForm_Checkbox('wpsg_mod_produktartikel_ean', __('Darstellung der EAN aktivieren', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_ean'), array('help' => 'wpsg_mod_produktartikel_ean')); ?>
<?php echo wpsg_drawForm_Checkbox('wpsg_mod_produktartikel_gtin', __('Darstellung der GTIN aktivieren', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_gtin'), array('help' => 'wpsg_mod_produktartikel_gtin')); ?>
+
+<br />
+
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_produktartikel_cat', __('Kategorie in Produktübersicht (Backend) anzeigen', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_cat'), array('help' => 'wpsg_mod_produktartikel_cat')); ?>
+<div id="wpsg_mod_produktartikel_cat_1">
+ <?php echo wpsg_drawForm_Checkbox('wpsg_mod_produktartikel_cat_first_level', __('Nur erste Ebene', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_cat_first_level'), array('help' => 'wpsg_mod_produktartikel_cat_first_level')); ?>
+ <?php echo wpsg_drawForm_Input('wpsg_mod_produktartikel_cat_ignore', __('Titelformen (Kommagetrennt) von Kategorien die ignoriert werden sollen', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_cat_ignore'), ['help' => 'wpsg_mod_produktartikel_cat_ignore']); ?>
+</div>
+
+<script>
+
+ let el_wpsg_mod_produktartikel_cat = document.getElementById('wpsg_mod_produktartikel_cat');
+ let el_wpsg_mod_produktartikel_cat_1 = document.getElementById('wpsg_mod_produktartikel_cat_1');
+
+ el_wpsg_mod_produktartikel_cat.addEventListener('change', () => {
+
+ if (el_wpsg_mod_produktartikel_cat.checked) {
+
+ el_wpsg_mod_produktartikel_cat_1.style.display = 'block';
+
+ } else {
+
+ el_wpsg_mod_produktartikel_cat_1.style.display = 'none';
+
+ }
+
+ });
+
+ el_wpsg_mod_produktartikel_cat.dispatchEvent(new Event('change'));
+
+</script>
+
<br />
<?php /* echo wpsg_drawForm_Checkbox('wpsg_mod_produktartikel_positionnumber', __('Positionsnummer in Produktverwaltung anzeigen', 'wpsg'), $this->get_option('wpsg_mod_produktartikel_positionnumber'), array('help' => 'wpsg_mod_produktartikel_positionnumber')); */ ?>
diff --git a/views/produkt/index.phtml b/views/produkt/index.phtml
index e59123f..34296c4 100644
--- a/views/produkt/index.phtml
+++ b/views/produkt/index.phtml
@@ -4,6 +4,21 @@
* Template für die Produktübersicht im Backend
*/
+ $arTermExclude = [];
+ $wpsg_mod_produktartikel_cat_first_level = false;
+
+ if ($this->hasMod('wpsg_mod_produktartikel') && $this->get_option('wpsg_mod_produktartikel_cat')) {
+
+ if ($this->get_option('wpsg_mod_produktartikel_cat_first_level') === '1') $wpsg_mod_produktartikel_cat_first_level = true;
+
+ foreach (explode(',', $this->get_option('wpsg_mod_produktartikel_cat_ignore')) as $exclude_term_id) {
+
+ if (wpsg_isSizedString($exclude_term_id)) $arTermExclude[] = trim($exclude_term_id);
+
+ }
+
+ }
+
?>
<div class="wpsg_products" id="wpsg-bs">
@@ -68,9 +83,18 @@
<?php echo wpsg_drawForm_Input('filter[s]', __('Suchfeld', 'wpsg'), wpsg_getStr($this->view['arFilter']['s'])); ?>
- <?php $filterAll = $this->view['arFilter'];
- unset($filterAll['productgroup_ids']);
+ <?php
+
+ $filterAll = $this->view['arFilter'];
+
+ unset($filterAll['productgroup_ids']);
unset($filterAll['productcategory_ids']);
+
+ $filterNone = $this->view['arFilter'];
+ $filterNone['isNoCat'] = true;
+ $filterNone['loadCat'] = false;
+ unset($filterNone['productcategory_ids']);
+
?>
<?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
@@ -79,11 +103,16 @@
<?php if ($this->hasMod('wpsg_mod_produktartikel')) { ?>
<?php
+
$temp = $this->callMod('wpsg_mod_produktartikel', 'getProductcategorySelect', array($this->view['arFilter']));
$arr = array();
foreach ($temp as $vv) $arr[$vv['term_taxonomy_id']] = $vv['label'];
+
echo wpsg_drawForm_Select('filter[productcategory_ids]', __('Produktkategorie', 'wpsg'),
- wpsg_array_merge(array('-1' => wpsg_translate(__('Alle Produktkategorien (#1#)', 'wpsg'), wpsg_product::count($filterAll))),
+ wpsg_array_merge(array(
+ '-1' => wpsg_translate(__('Alle Produktkategorien (#1#)', 'wpsg'), wpsg_product::count($filterAll)),
+ '-2' => wpsg_translate(__('Unzugeordnet (#1#)', 'wpsg'), wpsg_product::count($filterNone))
+ ),
$arr), @$this->view['arFilter']['productcategory_ids']); ?>
<?php } ?>
@@ -167,6 +196,10 @@
<th class="wpsg_order" data-order="pos-nr"><?php echo __("Positionsnummer", "wpsg"); ?></th>
<?php } */ ?>
+ <?php if ($this->hasMod('wpsg_mod_produktartikel') && $this->get_option('wpsg_mod_produktartikel_cat') === '1') { ?>
+ <th class="wpsg_order" data-order="cat"><?php echo __('Kategorie', 'wpsg'); ?></th>
+ <?php } ?>
+
<?php if ($this->hasMod('wpsg_mod_produktartikel') && $this->get_option('wpsg_mod_produktartikel_gtin') == '1') { ?>
<th class="wpsg_order" data-order="gtin-nr"><?php echo __("GTIN", "wpsg"); ?></th>
<?php } ?>
@@ -269,7 +302,35 @@
</td>
<?php } ?>
- <th class="wpsg_order" data-order="anr"><?php echo $oProduct->getNr(); ?></th>
+ <td><?php echo $oProduct->getNr(); ?></td>
+ <?php if ($this->hasMod('wpsg_mod_produktartikel') && $this->get_option('wpsg_mod_produktartikel_cat')) { ?>
+ <td>
+ <?php
+
+ $post_id = $this->callMod('wpsg_mod_produktartikel', 'getPostIdFromProductId', [$d['id']]);
+ $post_terms = \get_the_terms($post_id, $this->get_option('wpsg_mod_produktartikel_pathkey_cat'));
+
+ $arTermDisplay = [];
+
+ foreach ($post_terms as $term) {
+
+ if (!in_array($term->slug, $arTermExclude)) {
+
+ if ($wpsg_mod_produktartikel_cat_first_level && $term->parent !== 0) continue;
+
+ $arTermDisplay[] = $term->name;
+
+ }
+
+ }
+
+ asort($arTermDisplay);
+
+ echo implode(', ', $arTermDisplay);
+
+ ?>
+ </td>
+ <?php } ?>
<?php if ($this->hasMod('wpsg_mod_produktartikel') && $this->get_option('wpsg_mod_produktartikel_gtin') == '1') { ?>
<td><?php echo wpsg_hspc($d['gtin']); ?></td>
<?php } ?>