123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- // @codingStandardsIgnoreFile
- /* @var $block \Magento\Backend\Block\Store\Switcher */
- ?>
- <?php if ($websites = $block->getWebsites()): ?>
- <div class="store-switcher store-view">
- <span class="store-switcher-label"><?= /* @escapeNotVerified */ __('Store View:') ?></span>
- <div class="actions dropdown closable">
- <input type="hidden" name="store_switcher" id="store_switcher"
- data-role="store-view-id" data-param="<?= /* @escapeNotVerified */ $block->getStoreVarName() ?>"
- value="<?= $block->escapeHtml($block->getStoreId()) ?>"
- onchange="switchScope(this);"<?= /* @escapeNotVerified */ $block->getUiId() ?> />
- <input type="hidden" name="store_group_switcher" id="store_group_switcher"
- data-role="store-group-id" data-param="<?= /* @escapeNotVerified */ $block->getStoreGroupVarName() ?>"
- value="<?= $block->escapeHtml($block->getStoreGroupId()) ?>"
- onchange="switchScope(this);"<?= /* @escapeNotVerified */ $block->getUiId() ?> />
- <input type="hidden" name="website_switcher" id="website_switcher"
- data-role="website-id" data-param="<?= /* @escapeNotVerified */ $block->getWebsiteVarName() ?>"
- value="<?= $block->escapeHtml($block->getWebsiteId()) ?>"
- onchange="switchScope(this);"<?= /* @escapeNotVerified */ $block->getUiId() ?> />
- <button
- type="button"
- class="admin__action-dropdown"
- data-mage-init='{"dropdown":{}}'
- data-toggle="dropdown"
- aria-haspopup="true"
- id="store-change-button">
- <?= /* @escapeNotVerified */ $block->getCurrentSelectionName() ?>
- </button>
- <ul class="dropdown-menu" data-role="stores-list">
- <?php if ($block->hasDefaultOption()): ?>
- <li class="store-switcher-all <?php if ( ! ($block->getDefaultSelectionName() != $block->getCurrentSelectionName())) {
- echo "disabled";
- } ?> <?php if ( ! $block->hasScopeSelected()) {
- ?> current<?php
- } ?>">
- <?php if ($block->getDefaultSelectionName() != $block->getCurrentSelectionName()) {
- ?>
- <a data-role="store-view-id" data-value="" href="#">
- <?= /* @escapeNotVerified */ $block->getDefaultSelectionName() ?>
- </a>
- <?php
- } else {
- ?>
- <span><?= /* @escapeNotVerified */ $block->getDefaultSelectionName() ?></span>
- <?php
- } ?>
- </li>
- <?php endif; ?>
- <?php foreach ($websites as $website): ?>
- <?php $showWebsite = false; ?>
- <?php foreach ($website->getGroups() as $group): ?>
- <?php $showGroup = false; ?>
- <?php foreach ($block->getStores($group) as $store): ?>
- <?php if ($showWebsite == false): ?>
- <?php $showWebsite = true; ?>
- <li class="store-switcher-website <?php if ( ! ($block->isWebsiteSwitchEnabled() && ! $block->isWebsiteSelected($website))) {
- echo "disabled";
- } ?> <?php if ($block->isWebsiteSelected($website)) {
- ?> current<?php
- } ?>">
- <?php if ($block->isWebsiteSwitchEnabled() && ! $block->isWebsiteSelected($website)) {
- ?>
- <a data-role="website-id" data-value="<?= $block->escapeHtml($website->getId()) ?>" href="#">
- <?= $block->escapeHtml($website->getName()) ?>
- </a>
- <?php
- } else {
- ?>
- <span><?= $block->escapeHtml($website->getName()) ?></span>
- <?php
- } ?>
- </li>
- <?php endif; ?>
- <?php if ($showGroup == false): ?>
- <?php $showGroup = true; ?>
- <li class="store-switcher-store <?php if ( ! ($block->isStoreGroupSwitchEnabled() && ! $block->isStoreGroupSelected($group))) {
- echo "disabled";
- } ?> <?php if ($block->isStoreGroupSelected($group)) {
- ?> current<?php
- } ?>">
- <?php if ($block->isStoreGroupSwitchEnabled() && ! $block->isStoreGroupSelected($group)) {
- ?>
- <a data-role="store-group-id" data-value="<?= $block->escapeHtml($group->getId()) ?>" href="#">
- <?= $block->escapeHtml($group->getName()) ?>
- </a>
- <?php
- } else {
- ?>
- <span><?= $block->escapeHtml($group->getName()) ?></span>
- <?php
- } ?>
- </li>
- <?php endif; ?>
- <li class="store-switcher-store-view <?php if ( ! ($block->isStoreSwitchEnabled() && ! $block->isStoreSelected($store))) {
- echo "disabled";
- } ?> <?php if ($block->isStoreSelected($store)) {
- ?> current<?php
- } ?>">
- <?php if ($block->isStoreSwitchEnabled() && ! $block->isStoreSelected($store)) {
- ?>
- <a data-role="store-view-id" data-value="<?= $block->escapeHtml($store->getId()) ?>" href="#">
- <?= $block->escapeHtml($store->getName()) ?>
- </a>
- <?php
- } else {
- ?>
- <span><?= $block->escapeHtml($store->getName()) ?></span>
- <?php
- } ?>
- </li>
- <?php endforeach; ?>
- <?php endforeach; ?>
- <?php endforeach; ?>
- <?php if ($block->getShowManageStoresLink() && $block->getAuthorization()->isAllowed('Magento_Backend::store')): ?>
- <li class="dropdown-toolbar">
- <a href="<?= /* @escapeNotVerified */ $block->getUrl('*/system_store') ?>"><?= /* @escapeNotVerified */ __('Stores Configuration') ?></a>
- </li>
- <?php endif; ?>
- </ul>
- </div>
- <?= $block->getHintHtml() ?>
- </div>
- <script>
- require([
- 'jquery',
- 'Magento_Ui/js/modal/confirm'
- ], function(jQuery, confirm){
- (function($) {
- var $storesList = $('[data-role=stores-list]');
- $storesList.on('click', '[data-value]', function(event) {
- var val = $(event.target).data('value');
- var role = $(event.target).data('role');
- var switcher = $('[data-role='+role+']');
- event.preventDefault();
- if (!switcher.val() || val != switcher.val()) {
- switcher.val(val).trigger('change'); // Set the value & trigger event
- }
- });
- })(jQuery);
- var scopeSwitcherHandler;
- function switchScope(obj) {
- var switcher = jQuery(obj);
- var scopeId = switcher.val();
- var scopeParams = '';
- if (scopeId) {
- scopeParams = switcher.data('param') + '/' + scopeId + '/';
- }
- if (obj.switchParams) {
- scopeParams += obj.switchParams;
- }
- if ((typeof scopeSwitcherHandler) != 'undefined') {
- var switcherParams = {
- scopeId: scopeId,
- scopeParams: scopeParams,
- useConfirm: <?= (int)$block->getUseConfirm() ?>
- };
- scopeSwitcherHandler(switcherParams);
- } else {
- <?php if ($block->getUseConfirm()): ?>
- confirm({
- content: "<?= /* @escapeNotVerified */ __('Please confirm scope switching. All data that hasn\'t been saved will be lost.') ?>",
- actions: {
- confirm: function() {
- reload();
- },
- cancel: function() {
- obj.value = '<?= $block->escapeHtml($block->getStoreId()) ?>';
- }
- }
- });
- <?php else: ?>
- reload();
- <?php endif; ?>
- }
- function reload() {
- <?php if (!$block->isUsingIframe()): ?>
- var url = '<?= /* @escapeNotVerified */ $block->getSwitchUrl() ?>' + scopeParams;
- setLocation(url);
- <?php else: ?>
- jQuery('#preview_selected_store').val(scopeId);
- jQuery('#preview_form').submit();
- jQuery('.store-switcher .dropdown-menu li a').each(function() {
- var $this = jQuery(this);
- if ($this.data('role') === 'store-view-id' && $this.data('value') == scopeId) {
- jQuery('#store-change-button').html($this.text());
- }
- });
- jQuery('#store-change-button').click();
- <?php endif; ?>
- }
- }
- window.scopeSwitcherHandler = scopeSwitcherHandler;
- window.switchScope = switchScope;
- });
- </script>
- <?php endif; ?>
|