Есть множество редакторов, которые умеют делать автозавершение тегов и подсветку кода… Я специально не буду углубляться в подробности, что бы не перегружать внимание; и остановлюсь на двух кандидитах – которые дают вертикальное преймущество над другими вариантами.
Автор: jekjuk
Используйте под-запросы
Прохождение по DOM-у занимает много времени и средств. При удобном случае кэшируйте элементы в переменные и продвигайтесь дальше по дереву, используя методы поиска.
// плохой подход
var
$container = $('#container'),
$containerLi = $('#container li'),
$containerLiSpan = $('#container li span');
// хороший подход (быстрее)
var
$container = $('#container '),
$containerLi = $container.find('li'),
$containerLiSpan= $containerLi.find('span');
Объявляйте все переменные сразу
Все команды создания переменных, можем объединить в одну.
var
$first = $('#first'),
$second = $('#second'),
value = $first.val(),
k = 3,
cookiestring = 'SOMECOOKIESPLEASE',
i,
j,
myArray = {};
Лучший браузер … [из коробки]
Мне часто приходится тестировать сайты в разных браузерах;
меня радует, что они часто обновляються… но одновременно я земетил – что потребление ресурсов зашкаливает до-того, что возникают тормоза (!)
Это всё толкнуло меня на радикальную меру: выбрать тот браузер, что лучше… и оп вуаля, победителем становитья… Maxthon! Последняя версия позволяет нам добавить плагины;
1) AdBlock (вообще на борту есть Охотник-Рекламы) но доп. меры не помашают
2) LastPass
3) AutoZoom
и ещё пару можно найти через поиск (например: Gmail/Mail.ru)
и вот оно Щастье (да, закладки он подхватит автоматом); всё – пробуйти;
на сайте есть Портативная Версия (!)
+ читайте обзор 25 фишек Maxthon + смотрите бенчмарк.
Лучший торрент клиент
Вопрос возник после того, как uTorrent обновил себя не корректно (!!!) Тут же Гугл выдал ряд альтернатив…
1) кандидат – qbittorrent всем хорош, но минус: не даёт сразу переименовать (сохранить как мне нравиться) файл…
Форма на Ajax – с вложением
Как сделать такую форму на CMF Modx..? В базовом варианте нам понадобятся:
сниппет ddSendFeedback;
и сниппет ddGetChunk;
Однажды для модального окна мне пришлось использовать вывод на базе проверки “Personalize”; но он меня подвёл… И вот на просторе интернета нашлось решение: небольшой сниппет для MODX Evolution, используя getLoginUserName(). Его можно назвать is_user_logged_in:
<?php
$output = (isset($output)) ? $output : '';
if (!$modx->getLoginUserName()) {
return $output;
}
?>
Редактируем ditto.class.inc.php:
1. Открываем файл «../assets/snippets/ditto/classes/ditto.class.inc.php».
2. Переходим на строчку под номером 1038. Поправляем существующий класс template, добавляя к функции buildURL() приписку public static, как показано далее. Т.е. было:
function buildURL($args,$id=false,$dittoIdentifier=false) {
стало:
public static function buildURL($args,$id=false,$dittoIdentifier=false) {
Редактируем template.class.inc.php:
1. Открываем файл «../assets/snippets/ditto/classes/template.class.inc.php».
2. Поочередно переходим на строчки под номерами 156 и 197. Это
function replace( $placeholders, $tpl ) {
плюс
function fetch($tpl) {
3. Также добавляем к ним public static.
Вот и всё ребята! P.S. Взято на red-book-cms_ru
Данная статья содержит пример программного кода, который можно вставить в сниппет, ориентированный на MODX Evolution (проверял на версии 1.0.10), и он будет генерировать новые документы а-ля страницы с заданным TV параметрами, заблаговременно подготовленными посредством админки CMS.
YAMS + Ditto + Wf + Крошки
После установки модуля мультиязычности сайт нужно доработать; по этому для строк где идёт вызов Ditto пишем:
[[Ditto? &id=`(yams_id)` &extenders=`@FILE assets/modules/yams/yams.extender.inc.php` &language=`(yams_mname)` ...]]
(и там где пагинация) [+(yams_id)_previous+] [+(yams_id)_pages+] [+(yams_id)_next+]
для Wayfinder нужно изменить содержимое шаблона &rowTpl
<li[+wf.id+][+wf.classes+]><a href="(yams_doc:[+wf.docid+])" [+wf.attributes+]>[[YAMS? &get=`content` &docid=`[+wf.docid+]` &from=`pagetitle`]]</a>[+wf.wrapper+]</li>
плюс добавить параметр: [[Wayfinder? &useWeblinkUrl=`true` …]]
Вместо крошек звать сниппет
[[BreadcrumbsYAMS? &langid=`(yams_id)`]] , его содержимое:
<?php
return require( $modx->config['site_path'] . 'assets/modules/yams/snippets/breadcrumbs.101.yams.snippet.php' );
?>
P.S. есть ещё доп/вариант – экономящий на создании чанков:
[[YAMS? &get=`text` &from=`ru::Пример||en::Example`]]