This commit is contained in:
2026-02-04 14:50:08 +03:00
parent 9c6adf8b73
commit 3f8bac0cb1
21 changed files with 1016 additions and 72 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
<?
<?php
$MESS['MAIN_OPTIONS_PARAMETERS'] = 'Общие';
+2 -3
View File
@@ -1,11 +1,10 @@
<?php
use \Bitrix\Main\Localization\Loc;
use Bitrix\Main\Localization\Loc;
use Wt\Core\Admin\GlobalMenuItem;
Loc::loadMessages(__FILE__);
return (new GlobalMenuItem())
->setSort(10)
->setTitle('Discount Main');
->setTitle('Discount');
@@ -3,7 +3,6 @@
use Bx\Discount\ORM\DiscountTable;
use Wt\Core\Admin\TableRowAdminPage;
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php');
/**
@@ -15,6 +14,4 @@ $AdminPageTableRow = new TableRowAdminPage($ormTable, $_REQUEST, '/bitrix/admin/
$AdminPageTableRow->checkPermission();
$AdminPageTableRow->start();
\CJSCore::Init('jquery');
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin.php');
+11 -10
View File
@@ -1,6 +1,7 @@
<?php
use Wt\Core\Admin\SiteSettingsAdminPage;
use Wt\Core\Tools;
IncludeModuleLangFile(__FILE__);
@@ -12,17 +13,17 @@ return [
'MAIN' => [
'TITLE' => 'Общие сведения',
'OPTIONS' => [
'ENABLE' => [
'TITLE' => 'Enable module',
'TYPE' => 'checkbox',
'DEFAULT' => 'N',
'HINT' => '',
],
'CONFIG' => [
'TITLE' => 'Конфигурационные данные',
'HINT' => '',
'TITLE' => 'Config',
'TYPE' => 'content',
'INCLUDEFILE' => \Wt\Core\Tools::removeDocRoot(__DIR__ . '/include/config.php'),
'INCLUDEFILE' => Tools::removeDocRoot(__DIR__ . '/include/config.php'),
'SHOW_EDIT_BUTTON' => 'N',
'DEFAULT' => '',
],
'AGENTS' => [
'TITLE' => 'Агенты',
'TYPE' => 'content',
'INCLUDEFILE' => Tools::removeDocRoot(__DIR__ . '/include/agents.php'),
'SHOW_EDIT_BUTTON' => 'N',
'DEFAULT' => '',
],
@@ -34,7 +35,7 @@ return [
'DOCUMENTATION' => [
'TITLE' => 'Documentation',
'TYPE' => 'content',
'INCLUDEFILE' => \Wt\Core\Tools::removeDocRoot(__DIR__ . '/include/documentation.php'),
'INCLUDEFILE' => Tools::removeDocRoot(__DIR__ . '/include/documentation.php'),
'SHOW_EDIT_BUTTON' => 'N',
'DEFAULT' => '',
],
@@ -0,0 +1,11 @@
<?php
/**
* @var Wt\Core\Admin\Templater $this
*/
use Bx\Discount\Agents\SpiderAgentManager;
$moduleId = $this->getAdminPage()->getModuleId();
$agentCase = new SpiderAgentManager();
$this->renderAgentCase($agentCase);
+67 -40
View File
@@ -2,48 +2,75 @@
/**
* @var Wt\Core\Admin\Templater $this
*/
$moduleId = $this->getAdminPage()->getModuleId();
$app = app()::getInstance($moduleId);
use Wt\Core\Support\System;
$system = new System();
$config = discountApp()->config();
$data = [];
$data['env'] = $app->env();
$data['env'] = discountApp()->env();
$data['ENABLE'] = $this->getCheckTemplate($config->get('ENABLE'));
$data['UPDATE_ELEMENT_INDEX'] = $this->getCheckTemplate($config->get('UPDATE_ELEMENT_INDEX'));
$data['DISCOUNT_TYPE_IBLOCK_ID'] = $discountTypeIBlockId = $config->get('DISCOUNT_TYPE_IBLOCK_ID');
if($discountTypeIBlockId){
$blockEntity = app()->factory()->main()->getIBlockFactory()->getEntityById($discountTypeIBlockId);
if($blockEntity){
$data['DISCOUNT_TYPE_IBLOCK_ID'] = "[$discountTypeIBlockId] {$blockEntity->getName()}";
}
}
$data['CATALOG_IBLOCK_ID'] = $catalogIBlockId = $config->get('CATALOG_IBLOCK_ID');
if($catalogIBlockId){
$blockEntity = app()->factory()->main()->getIBlockFactory()->getEntityById($catalogIBlockId);
if($blockEntity){
$data['CATALOG_IBLOCK_ID'] = "[$catalogIBlockId] {$blockEntity->getName()}";
}
}
$data['TICKET_PROP_ID'] = $ticketPropId = $config->get('TICKET_PROP_ID');
$propertyEntity = null;
if($ticketPropId){
$blockAFactory = app()->factory()->iBlock()->getEntityById($catalogIBlockId);
if($blockAFactory){
$propertyEntity = $blockAFactory->getPropertyFactory()->getEntityById($ticketPropId);
$linkTemplate = "<a href=\"/bitrix/admin/iblock_edit_property.php?ID=$ticketPropId&lang=ru&IBLOCK_ID=$catalogIBlockId\" target=\"_blank\">$ticketPropId</a>";
$data['TICKET_PROP_ID'] = "[$linkTemplate] {$propertyEntity->getName()} ({$propertyEntity->getFullType()})";
}
}
$data['CATALOG_GROUP_ID'] = $priceTypeId = $config->get('CATALOG_GROUP_ID');
if($priceTypeId){
$priceTypeEntity = app()->factory()->shop()->getPriceTypeFactory()->getEntityById($priceTypeId);
if($priceTypeEntity){
$linkTemplate = "<a href=\"/bitrix/admin/cat_group_edit.php?ID=$priceTypeId\" target=\"_blank\">$priceTypeId</a>";
$data['CATALOG_GROUP_ID'] = "[$linkTemplate] {$priceTypeEntity->getName()}";
}
}
$data['PAGE_SIZE'] = $config->get('PAGE_SIZE');
$data['RENEWAL_PERIOD'] = $config->get('RENEWAL_PERIOD');
?>
<table cellpadding="5" border="1" style="border-collapse: collapse; width: 100%">
<?php
foreach ($data as $key => $value) {
?><tr><td><?= $key ?></td><td><?= $value ?></td></tr><?php
}
?></table>
<br><?php
<table cellpadding="5" border="1" style="border-collapse: collapse; width: 100%">
<?php
foreach ($data as $key => $value) {
?><tr><td><?= $key ?></td><td><?= $value ?></td></tr><?php
}
?><tr><td>MAP</td><td><?php
if($config->get('MAP', [])->count()){
?><table cellpadding="5" border="1" style="border-collapse: collapse; width: 100%">
<tr>
<?php
$initPhpSrc = getLocalPath('php_interface/init.php', BX_PERSONAL_ROOT);
$src = $app->module()->getSrc();
$html = "<div style=\"font-family: monospace; font-size: 0.9em; white-space: pre; color: grey;\">if(file_exists(\$_SERVER['DOCUMENT_ROOT'] . '$src/init.php'))
include_once \$_SERVER['DOCUMENT_ROOT'] . '$src/init.php';</div>";
?>
<td>
<?=$this->getCheckTemplate($app->isIncludeFileToInitPhp())?>
</td>
<td>
Модуль подключен в init.php
</td>
<td width="50%">
<?php
if($initPhpSrc){
?><a target="_blank" href="/bitrix/admin/fileman_file_edit.php?path=<?=urlencode($initPhpSrc)?>&full_src=Y">
<?=$initPhpSrc?>
</a><?php
} else {
?>init.php отсутствует<?php
}
?>
<br>
<?=$html?>
</td>
</tr>
</table>
<br>
?><table style="width: 100%;">
<tr style="font-size: 0.8em; color: #6e6e6e"><td>type</td><td>ticket item</td></tr>
<?php foreach ($config->get('MAP', []) as $type => $id){?>
<tr><td><?= $type ?></td><td><?php
if($propertyEntity){
$valueFactory = $propertyEntity->getAdapter()->getValueFactory();
$entity = $valueFactory->getEntityById($id);
if($entity){
echo "[{$entity->getId()}] {$entity->getName()}";
}
}
?></td></tr>
<?php }?>
</table><?php
} else {
?><i>empty</i><?php
}
?></td></tr><?php
?></table>
@@ -1 +1,26 @@
Документация
<a href="/bitrix/admin/cat_discount_admin.php?lang=ru" target="_blank">Catalog: Скидки</a>
<br>
<a href="/bitrix/admin/sale_discount.php?lang=ru" target="_blank">Sale: Скидки</a>
<br>
<a href="/bitrix/admin/iblock_list_admin.php?IBLOCK_ID=24&type=system_settings&lang=ru&find_section_section=0&SECTION_ID=0&apply_filter=Y" target="_blank">Таблица с типами скидкок</a>
<br>
<a href="/bitrix/admin/perfmon_table.php?PAGEN_1=1&SIZEN_1=20&lang=ru&set_filter=Y&adm_filter_applied=0&table_name=b_option&find=bx.discount&find_type=MODULE_ID" target="_blank">Таблица c настройками паука</a>
<br>
<br>
<div class="adm-info-message-wrap">
<div class="adm-info-message">
Перед <a href="/bitrix/admin/sale_discount_catalog_migrator.php" target="_blank">миграцией</a> важно сохранить ID скидок <br>
bitrix/modules/sale/admin/discount_catalog_migrator.php:377<br>
DiscountCatalogMigrator::migrateDiscounts<br>
в $newData добавить ID
</div>
</div>
<code style="font-family: monospace;white-space: pre;">
$newData = array(
'ID' => $discount['ID'],
'XML_ID' => $discount['XML_ID'],
...
);
</code>
@@ -1,2 +1,2 @@
<?
<?php
$MESS['CONTEXT_PROFILE_DELETE_CONFIRM'] = 'Удалить %s?';
+1 -1
View File
@@ -7,5 +7,5 @@ Loc::loadMessages(__FILE__);
return (new GlobalMenuItem())
->setSort(5)
->setTitle('Settings')
->setTitle('settings')
->setUrl();