Идеи пользователя Юсупов Денис

Рейтинг: 19.7804  
На голосовании
Предложил Goldmaker 06.11.2018 14:39:55

Дайте возможность выбирать между использованием старого удобного фильтра элементов инфоблока и глючного неудобного нового

сабж.
до момента полной отладки новых фильтров элементов инфоблока (и списка пользователей) дайте возможность использовать старые фильтры. Клиенты обновляют битрикс и им полностью приходится переделывать в админке фильтрацию по ссылке. Например раньше элементы связанные с конкретным элементом находились по ссылке в карточке элемента, теперь это не работает (хотя ссылки остались!), то же самое со списком пользователей - раньше можно было через урл отфильтровать пользователей по какому то признаку например группе, теперь приходится либо всё переделывать либо заставлять пользователя пальцами городить фильтры. Хоть не обновляйся!  
Рейтинг: 34.9102  
Новая
Предложил Goldmaker 28.12.2013 16:11:57

Это только мне такой стиль шаблонов компонентов кажется бредовым? Разрешаю заминусовать тем кому такой стиль нравится.

Ну типа такого  (/bitrix/components/catalog.element/templates/template.php):

<?
if (!empty($arResult['DISPLAY_PROPERTIES']) || $arResult['SHOW_OFFERS_PROPS'])
{
?>
<div class="item_info_section">
<?
   if (!empty($arResult['DISPLAY_PROPERTIES']))
   {
?>
   <dl>
<?
      foreach ($arResult['DISPLAY_PROPERTIES'] as &$arOneProp)
      {
?>
      <dt><strong><? echo $arOneProp['NAME']; ?></strong> <?
         echo (
            is_array($arOneProp['DISPLAY_VALUE'])
            ? implode(' / ', $arOneProp['DISPLAY_VALUE'])
            : $arOneProp['DISPLAY_VALUE']
         );
?>
      </dt>
<?
      }
      unset($arOneProp);
?>
   </dl>
<?
   }
   if ($arResult['SHOW_OFFERS_PROPS'])
   {
?>
   <dl id="<? echo $arItemIDs['DISPLAY_PROP_DIV'] ?>" style="display: none;"></dl>
<?
   }
?>
</div>
<?
}
if ('' != $arResult['PREVIEW_TEXT'])
{
?>
<div class="item_info_section">
<?
   echo ('html' == $arResult['PREVIEW_TEXT_TYPE'] ? $arResult['PREVIEW_TEXT'] : '<p>'.$arResult['PREVIEW_TEXT'].'</p>');
?>
</div>
<?
}
if (isset($arResult['OFFERS']) && !empty($arResult['OFFERS']) && !empty($arResult['OFFERS_PROP']))
{
   $arSkuProps = array();
?>



.........
      <div class="bx_rb">
<div class="item_info_section">
<?
if ('' != $arResult['DETAIL_TEXT'])
{
?>
   <div class="bx_item_description">
      <div class="bx_item_section_name_gray" style="border-bottom: 1px solid #f2f2f2;"><? echo GetMessage('FULL_DESCRIPTION'); ?></div>
<?
   if ('html' == $arResult['DETAIL_TEXT_TYPE'])
   {
      echo $arResult['DETAIL_TEXT'];
   }
   else
   {
      ?><p><? echo $arResult['DETAIL_TEXT']; ?></p><?
   }
?>
   </div>
<?
}
?>
</div>
      </div>
 

ну и тд

Что конкретно не нравится.

Напоню что это ШАБЛОН компонента и значит ВЕРСТАЛЬЩИКУ гораздо понятней тёплые ламповые конструкции в стиле
<?if(...):?>
 ...
<?endif;?>

<?foreach(...):?>
....
<?endforeach;?>
Верстальщик не обязан быть программистом иначе стоимость такого верстальщика начинает приближаться к стоимости программиста.

Да меня конечно бесят фигурные скобочки друг под другом но в ПРОГРАММАХ с этим можно смириться коль скоро многие программеры не способны были поменять в редакторе дефаултный стиль для скобок к этому стилю привыкли.  
Но с шаблонами работают не программитсты а верстальщики, когда мне верстак говорит что он не хрена тут понять не может я не могу его гнать в шею потому что формально он прав.

Ладно проехали. Всё равно же не заставишь.

Но вот ''обычные" ПХП-шаблоны очень легко однозначно автоматически перехреначить в такой вид ( со скобочками ) а вот в обратную сторону  - тут компилятор нужен. Так что если нет особой сермяжной правды в использовании такого стиля в ШАБЛОНАХ то может есть смысл всё таки применять в них более удобный и приятный на вид стиль?

Если есть какая то очень важная причина (кроме лени сменить стиль в редакторе) - велкам в комменты.



[IMG]
Рейтинг: 15.264  
На голосовании
Предложил Goldmaker 22.12.2013 11:33:51

Научить проактивную защиту автоматически отправлять в стоплист всех кто обращается к конкретным адресам сайта связанным с логинами в вордпрессе/жумле/друпале итп (/wp-login.php, /backup.php, /admin.php итп )

для себя я конечно сделал, но хочется иметь из коробки следующий функционал в модуле проактивной защиты - чтобы можно было задать страницы при обращении на которые вражеский бот-брутфорсер не только получал 404 (чтоб отстал), но и автоматически помещался в стоплист по IP на некоторое длительное время (например месяц - обычно этого достаточно чтоб бот/кулхацкер понял что здесь ловить ему нечего). Сейчас самые популярные запросы ботов-брутфорсеров и юнных кулхацкеров на каникулах это:

wp-login.php
backup.php
admin.php
/administrator/index.php
dump.php
eugen.php
ну и тому подобное.

и такую же фичу но более щадящую для некоторых юзерагентов - джава, вгет, телепорт-про итп

да я понимаю что могут попасться целые сетки ни вчём не повинных юзеров за общим с кулхацкером фареволом, но
1. чаще всего ломится сервак на котором стоит бот ищущий кого бы хакнуть и значит такой сервак мне в качестве посетителя вообще нафих не сдался
2. юнный исследователь который готов испортить что угодно лишь бы был повод похвастаться перед друзьями пятикласниками какой он суперхацкер - и значит в расход его вместе со всей его домашней сеткой
3. деловые люди спаммеры которые ищут халявные площадки и благополучно отлипающие если им оказать хоть немного сопротивления ибо других вариантов море
4. реальные хацкеры, хоть таких и меньшинство, которых конечно не остановит модуль проактивной защиты но хотябы оттянет ваш конец 8)
Рейтинг: 0  
На голосовании
Предложил Goldmaker 10.12.2013 05:23:41

А нельзя ли в файлике /bitrix/modules/main/include/urlrewrite.php файл /urlrewrite.php инклюдить не командой include а командой include_once?

имеется ввиду заменить чтобы битриксы заменили

//.........
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/virtual_io.php");
$io = CBXVirtualIo::GetInstance();

$arUrlRewrite = array();
if(file_exists($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php"))
   include($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php");

if(isset($_SERVER['REDIRECT_STATUS']) && $_SERVER['REDIRECT_STATUS'] == '404' || isset($_GET["SEF_APPLICATION_CUR_PAGE_URL"]))
//............
 
на
//.........
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/virtual_io.php");
$io = CBXVirtualIo::GetInstance();

if(!isset($arUrlRewrite)) {$arUrlRewrite = array();} 
//и ещё $arUrlRewrite разрешить инициализировать снаружи этого файлика.  

if(file_exists($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php"))
   include_once($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php");
###^^^^^^^^^###########

 if(isset($_SERVER['REDIRECT_STATUS']) && $_SERVER['REDIRECT_STATUS'] == '404' || isset($_GET["SEF_APPLICATION_CUR_PAGE_URL"]))
//............
 
смысл сего действа в том, что это позволит не переписывая из-за пяти буковок файл в свою область менять/добавлять динамически правила урлреврайта (только не спрашивайте меня зачем это нужно, просто хочется такого вот извращения, если сделают напишу как это применять для мира во всём мире ;) )
Рейтинг: 7.9559  
На голосовании
Предложил Goldmaker 29.05.2013 02:08:55

протокол-хелпер для редактирования шаблонов компонентов во внешнем редакторе

Не секрет, что не всем разработчикам нравится редактировать шаблоны компонента в визуальном редакторе битрикса (:sarkasm:). При этом часто бывает так что найти на файловой системе и открыть в редакторе соотв. шаблон занимает в 10 раз больше времени, чем подправить в нём какую то фигнюшку.  Знакомо? Итак битриксам предлагается сделать сделать легко включаемую из настроек фичу изображённую на картинке:



Как это работает

Ссылочка "редактировать во внешнем редакторе" представляет из себя примерно следующее:

==========vvvvvvvvvvvvvvvvvvvv
<a href="bx-external-editor://мой_сайт/путь_к_редактируемому_компоненту/template.php">....</a>

Не знаю как в МСИЕ (и знать не хочу), но в  нормальных остальных броузерах не  проблема зарегистрировать отработчик для кастомного протокола (пример), который ловит урл и открывает в любимом IDE разработчика на редактирование файл из sshfs-папки соответствующей сайту (ну или локальной папки проекта для дримвьюера, phpstorm итп).
Делается такая фича минут 10, а сэкономить может времени 5 вагонов.

С битриксов нужна только сама ссылочка и её включалка в админке, а скриптик-отработчик на клиентской стороне любой кому повезло с выбором ОС кто работает не под виндузами легко напишет сам.
Рейтинг: 7.0368  
Внедрено
Предложил Goldmaker 24.04.2013 04:01:52

Хочу нативную кнопочку Скопировать службу доставки!

Для одних товарищей у которых оказалось полно почти  одинаковых служб доставки пришлось изобрести такой вот велосайпод -




А как было бы прекрасно просто открыть список служб доставки, убедиться что такая контекстная менюшка в админке уже прописана и послать их с этой задачей (добавлять службы доставки пачками).

P.S. А вот за вкладочку в доставках "связанные платёжные системы" битриксам баальшое человеческое спасибо! (а то бы и это пришлось самому втыкать).
Рейтинг: 11.0778  
Новая
Предложил Goldmaker 06.01.2013 18:39:49

в идее показывать список "похожие идеи" и дать юзерам добавлять в этот список и голосовать за "похожесть/непохожесть" (стрелочками вверх-вниз)

сабж.
выводить только заголовки и то урезать в одну строку.

при выводе списка автоматом должно учитываться количество голосов что идея нихрена не похожа, то есть по умолчанию при внесении идеи в список похожих на данную, робот считает, что идея действительно похожа (и она однозначно попадает в список, но не больше 5 например ), пользователи нажимая стрелочки вверх-вниз могут влиять на оценку похожести. Показываются только верхние 5 (например). Что потом делать с этими списками можно придумать позже например похожие до безобразия смерживать или реврайтить ручками с обзором вариантов от разных авторов. А идеи которые имеют большое количество разнообразных дубликатов говорят о том что это людям нужно и разработчикам есть смысл обратить внимание на такую идею.
Рейтинг: 21.9487  
Внедрено
Предложил Goldmaker 26.12.2012 20:48:37

Службы доставки - в админке добавьте поле для выбора НЕсовместимых способов оплаты

Например если доставка почтой наложенным платежём я должен иметь возможность отметить например в множественном селекте что "Наличные курьеру" покупателю не предлагать. Ещё примеры?

"Самовывоз со склада в Москве" - "наличные курьеру"
почтой (как угодно) - "наличные курьеру"
электронная доставка  - "наличные курьеру", "сбербанк итп"
"бесплатная доставка для предварительного тестирования (ну или как то так)"  - "оплата вебманями идр мгновенные методы".

Соответствующие компоненты (sale.order.full итп) будет несложно подогнать под данные настройки даже на уровне шаблонов.

Почему лучше сделать поле несовместимых сособов оплаты в службах доставки а не наоборот несовместимых способов доставки в платёжных системах - потому что способов доставки в зависимости от веса размера стоимости итп можно наплодить миллион и они постоянно тусуются, а способы оплаты более менее стабильны. Значит меньше телодвижений при добавлении очередного способа доставки.
А лучше если это поле будет правиться и  из карточки службы доставки и из карточки системы оплаты.

Почему лучше явным образом указывать НЕсовместимые способы оплаты, а не с совместимые - чисто для удобства и наглядности. имхо гораздо сильнее бросаются в глаза вещи несочетающиеся чем гармоничные (эффект красной тряпки). кроме того несовместимых  вариантов теоретически должно быть меньше.
Хотя с другой стороны если в компоненте прописать что надо использовать ТОЛЬКО совместимые то меньше вероятность что покупатель воспользуется некой новой платёжной системой для которой забыли прописать несовместимые способы доставки.

Зачем вообще вся эта хрень нужна - затем что если вы не  дадите юзеру при заказе воспользоваться каким нибудь способом оплаты юзер просто обломится и ничего страшного не случится, а вот если вы дадите юзеру воспользоваться несовместимым способом оплаты (особенно электронные платежи и особенно(!!!) кредитки) - то тогда больше обломитесь вы потому что рефунды штука неприятная обоим сторонам.
Рейтинг: 0  
Ответил Жуков Евгений 01.04.2013 12:49:56
Выходит в 12.5
Рейтинг: 24.3809  
Внедрено
Предложил Goldmaker 25.12.2012 08:19:10

Импорт CSV - уровень вложенности разделов - вынесите переменную $NUM_CATALOG_LEVELS в константы

Редко но бывает надо импортировать в инфоблоки CSV с глубиной вложенности разделов (значительно) больше 3х, например 6. В этом случае приходится времено делать такое извращение (а потом всё возвращать назад) - в файле /bitrix/modules/iblock/admin/data_import.php  выставлять переменную $NUM_CATALOG_LEVELS=6. Тогда в форме импорта появляются "группа уровня 4/5/6" . Если бы переменную $NUM_CATALOG_LEVELS можно было бы регулировать через константы или настройки модуля инфоблоков, то не пришлось бы модифицировать системный файл или ради одной циферки городить огород с вынесением этого файла в своё пространство.

типа того:

$NUM_CATALOG_LEVELS=3;if(defined('NUM_CATALOG_LEVELS') && (intval(NUM_CATALOG_LEVELS)>3)){   $NUM_CATALOG_LEVELS=NUM_CATALOG_LEVELS;} 
Рейтинг: 0  
Ответил Жуков Евгений 30.01.2014 14:05:22
Глубина вложенности в csv-импорте/экспорте торгового каталога изначально регулировалась настройками модуля.
Глубина вложенности csv-импорта/экспорта модуля инфоблоков вынесена в настройки модуля, начиная с версии 14.0.5