Волков Николай

Волков Николай

С нами с 03 октября 2015; Место в рейтинге пользователей: #208
Волков Николай
19 октября 2017, 10:35
0
Кстати еще вариант есть: банально $values = null и его не перебрать…
Волков Николай
19 октября 2017, 10:17
0
Как вариант… Но мне гораздо больше нравится вариант перенести на серваки Яндекса почту у домена… Там делов то пару минут.
Волков Николай
19 октября 2017, 09:38
0
От:	noreply@unverified.beget.ru
Это стандартный почтовый сервак beget откуда помимо вашего сайта отправляют письма тысячи других сайтов…
Волков Николай
19 октября 2017, 09:24
0
Мне кажется, что проблема банальна:
{foreach $values as $value}
	<span value="{$value}">{$value}</span>
{/foreach}
Тут перебор массива идет, но в результатах работы сниппета msOptions учавствуют обычные одиночные опции и все слетает, т.к. их не перебрать.
Волков Николай
19 октября 2017, 09:21
0
Я знаю про него, но он не мой фаворит :-) И если я не путаю, то вроде SeoTab раньше вставлял свой HTML на сайт. Хотя может и путаю с SeoPro.
Волков Николай
19 октября 2017, 04:42
0
я говорю про ситуацию, когда нужно менять клиентскую часть (вёрстку), не трогая способ передачи данных
В простонародье это называется Model, View, Controller :-)

Сейчас у меня есть удачный кейс, когда шаблонизатор отделён от данных дополнительным слоем абстракции, где происходит нормализация и весь шаблон на выходе имеет JSON-структуру, на которую применяются чистые функции. Что это даёт (при наличии опыта и понимания):
Этого не понял. Можно пример живой?

Если рассматривать MODX исключительно как админку + RESTFul API-сервер, можно наконец-то забыть об оверхеде переноса и отладки клиентской части сайта/приложения на MODX, потому что MODX будет заниматься только тем, чем и должен заниматься бэкенд — данными, не тратя время на шаблонизацию.
Обана… Не я один, как оказывается сейчас развлекаюсь с REST серваками и т.д.

Более высокая скорость отдачи страницы на клиент (да, MODX можно ещё ускорить, и от этого аж уши закладывает!
Не можно, а нужно ускорять. К примеру, Service Worker и его кэш + абсолютный асинхрон в JavaScript благодаря Promise +…

Из возможных минусов: наиболее быстрый шаблонизатор сейчас написан на JavaScript
Я все больше прихожу к тому, что скоро все самое-самое будет на JS… И речь не только про скорость.
Волков Николай
19 октября 2017, 02:24
0
как сделать так, чтобы не попадали в карту ресурсы, у которых стоит «NOINDEX,NOFOLLOW»?
Зависит от того, где и как указывается, что ресурс «NOINDEX,NOFOLLOW». Существует масса вариантов, начиная от указания в TV и заканчивая специализированными SEO компонентами.

pdoSitemap, есть проблемы, не попадает много страниц.
Аналогично масса вариантов, начиная от неправильно настроенных прав доступа и заканчивая ошибкой подгрузки модели кастомного класса ресурсов… Можете указать &showLog = `1` и скинуть скриншот логов?
Волков Николай
19 октября 2017, 01:16
0
По-моему по данной ссылке объем статьи значительно ниже, чем в первоисточнике.
Волков Николай
18 октября 2017, 23:13
0
Ресурсы для конкретных пользователей.

bobsguides.com/user-specific-pages.html
Волков Николай
18 октября 2017, 15:32
0
2 варианта:
1) Создать под каждую опцию lexicon и в сниппетах msProductOptions и msOptions выводил бы лексиконы эти, если опция не пустая или т.п.
2) Аналогично 1, но вместо lexicon вставить в описание опции.
Волков Николай
15 октября 2017, 05:03
+1
case 'onclick':
        //1 
        $as_selector = $modx->getOption('as_selector', $scriptProperties, 'as_trigger');
        //2
        if (empty($wrapper)) {$wrapper = '<div id="[[+key]]" class="ajax-snippet">
			<a href="#" class="[[+as_selector]]">[[+trigger]]</a>
			<img src="'.$spinner.'" class="as_spinner" style="width:32px;margin:auto;display:none;">
		</div>';}
        if (empty($as_trigger)) {
            $as_trigger = $modx->lexicon('as_trigger');
        }
        //3
        $script = (empty($as_repeat)?'$(this).remove();':'').$script;
        //4, 5
        $modx->regClientScript(preg_replace('/(\t|\n)/', '','
		<script type="text/javascript">
			$(document).on("click", ".'.$as_selector.'", function(e) {
				var spinner = $(this).parent().find(".as_spinner");
				spinner.css("display","block");
				'.$script.'
				return false;
			});
		</script>'), true);
        //6
        $output = str_replace(array('[[+key]]','[[+trigger]], [[+as_selector]]'), array($key, $as_trigger, $as_selector), $wrapper);
        break;
P.S. Это написано на от*&ись, поэтому претензии или т.п. не принимаются! :-)
Волков Николай
15 октября 2017, 02:44
0
Я уверен на 99.99%, что это не из-за дополнения. Ошибки из-за источника файлов c ID = 3.
Волков Николай
15 октября 2017, 02:37
+1
И сами вы:
ууууу
^_^
Волков Николай
15 октября 2017, 02:36
0
Я сейчас на github'е глянул исходники ajaxSnippet и вообще со смеху умираю, если честно. Надо было с самого начала это сделать, т.к. не помня наизусть оригинальный код, не смог сходу понять, что конкретно добавил ТЫ, а что было изначально. Помимо всего прочего в код Василия со своими улучшениями влез и его код сократить умудрился:-) Ну да ладно. Касательно того, что именно ТЫ написал. У меня вышло от 2 до 4 строк… 4 строки 100% вариант, а более короткие варианты я еще банально не до конца проверил.
Волков Николай
15 октября 2017, 02:06
0
Я сейчас в растерянности, если честно. Я весь твой код в тексте заметки сжал до нескольких строк. PHPDoc строки, разумеется, не считаются :-) Вот смотри, если мой вариант окажется лучше, то что будет с исходным текстом твоей заметки?
Волков Николай
14 октября 2017, 23:52
0
Скажем так… На данный момент мне нравится вариант для загрузки и манипуляции с AJAX контентом, когда используется действительно далеко не несколько строк…
Суть в том, что на сайт подключаются jquery, underscore и backbone, далее пишутся соответствующие Model, View и т.д. с помощью extend стандартных объектов backbone.
Далее создается в корне сайта папка rest в которой создается что-то по типу и подобию этого docs.modx.com/revolution/2.x/developing-in-modx/advanced-development/developing-rest-servers
Ну и последнее это расписывание template для нужных блоков.
Но… Если вернуться к вашей ссылке, то если вы банально уберете из кода все комментарии, а также alert из js скрипта (ибо нужно в консоли браузера debug'ить) и посчитаете кол-во строк оставшихся… Я даже промолчу про то, что код можно уменьшить, если несколько иначе переписать…