Владимир

Владимир

С нами с 28 декабря 2012; Место в рейтинге пользователей: #82
Максим
01 марта 2019, 11:10
1
+1
Как-то так:
<a href="{$introtext}" data-id="{$id}" target="_blank" rel="noopener noreferrer" class="point">
        Читать подробности>>
  </a>

$('.point').on('cklick', function(e) {
    e.preventDefault();
    var id = $(this).data('id');
    ym(510Х5916,'reachGoal','mainpage' + id);
});
Павел Гвоздь
08 декабря 2018, 20:54
1
+1
Насколько знаю, в PCRE модификаторах Феном не работает обрамление регулярки слешами. Используйте символ "!" или "~".

И ещё, вместо
<a.*>
пишите лучше
<a [^>]*>
В первом случае вы говорите «любые символы (кроме переноса строки, если в регулярке нет модификатора s)», во втором случае мы говорим «любые символы, кроме закрытия тега > или вообще ничего».
Денис
22 марта 2018, 13:08
4
+2
Можно например вот так сделать:

{* Выборка ID категорий с разбивкой *}
{var $cats = ('pdoResources' | snippet : ['parents' => 0, 'limit' => 0, 'returnIds' => 1, 'where' => '{"class_key":"msCategory"}'] | split : ',')}

{* Если категории есть - перебираем их *}
{if $cats ?}
	{foreach $cats as $cat}
		{* Выводим заголовок категории *}
		<h2>{'pdoField' | snippet : ['id' => $cat]}</h2>
		{* Выборка товаров *}
		{'msProducts' | snippet : [
			'parents' => $cat,
			'tpl' => '@INLINE Товар: {$pagrtitle}<br />'
		] ?: 'Товаров нет'}
	{/foreach}
{/if}
Наумов Алексей
01 февраля 2018, 16:46
4
+4
hook для Formit, отсылает сообщения через sms.ru, вызываем перед хуком email:

Предварительно создаем настройки
sms_ru_api_id — api ключ, который дадут при регистрации на сайте
manager_phone — номер телефона получателя

<?php
// API id
$api_id = $modx->getOption('sms_ru_api_id', null, null);
if(empty($api_id)) {
    $modx->log(xPDO::LOG_LEVEL_ERROR,'SMS.RU hook: empty API ID!.');
    // так как это hook, то даже в случае неудачи возвращаем true
    return true;
}

// Support phone number
$phone = $modx->getOption('manager_phone', null, null);
if(empty($phone)) {
    // так как это hook, то даже в случае неудачи возвращаем true
    return true;
}

$ch = curl_init("https://sms.ru/sms/send");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(

    "api_id"        =>  $api_id,
    "to"            =>  $phone,
    "text"      =>  "ТЕКСТ СООБЩЕНИЯ",

));
$body = curl_exec($ch);
curl_close($ch);

return true;
Алексей П
04 ноября 2017, 23:57
7
+3
Немного доработанная версия. Чтобы не запускать скрипт по несколько раз. Оставлю здесь для себя. Может еще кому-то пригодится.
Перед использованием нужно заменить параметр parent.

<?php
$step = 10;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('modResource', array('parent' => 6007));
$total = $modx->getCount("modResource", $q);
$q->limit($step,$offset);
foreach($modx->getIterator("modResource", $q) as $doc){
	$doc->remove();
}

$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";
Андрей
28 октября 2017, 20:54
1
+2
Кстати очень годный сборщик иконочных шрифтов — Fontello.
Василий Наумкин
19 октября 2017, 12:59
1
+1
Не знаю, я использую 1Password по семейному тарифу для себя и жены.