Dima Stefantsov


Dima Stefantsov

  • Dima Stefantsov Dima Stefantsov 24 июня 2015 19:18 #

    В данный момент реализовал это так:

    {if preg_match("/(https?:\/\/[^'`\"]*?\.(?:png|jpe?g|gif))/i", $topic.content, $dtemp)}
    {$wa->meta("_image", $dtemp[0])}
    {else if !empty($topic.author)}
    {if !empty($topic.author.photo)}
    {$wa->meta("_image", "{$wa->domainUrl()}{$wa->contact($topic.author.id)->getPhoto("original")}")}
    {else}
    {$wa->meta("_image", "http:{$topic.author.photo_url_96}")}
    {/if}
    {/if}

    {if !empty({$wa->meta('_image')|escape})}
    <meta property="og:image" content="{$wa->meta('_image')|escape}" />
    {/if}

    в ответ на Найти картинку для сниппета

  • Dima Stefantsov Dima Stefantsov 22 июня 2015 09:11 #

    Мы же это для роботов делаем. Вообще не уверен, что они станут исполнять JS чтобы взять из DOM потом заданные теги.
    Например робот вконтакте не понимает русские буквы в имени картинки. Он глупый.

    в ответ на Найти картинку для сниппета

  • Dima Stefantsov Dima Stefantsov 21 июня 2015 04:17 #

    Здравствуйте, Николай. Спасибо за ответ! (в воскресенье? на то, что было не отвечено месяц? мне это снится?!)

    Я нахожусь в вашем облаке, доступа к редактированию БД и кода у меня нет. Даже после очистки кеша $c.priority_topics такие же пустые. Следовательно, приложение установлено некорректно.

    Как я могу вам помочь разобраться, почему приложение из вашего аппстора в вашем облаке оказалось установлено некорректно?

    в ответ на Как задать приоритет топикам в Хабе?

  • Dima Stefantsov Dima Stefantsov 24 апреля 2015 09:23 #

    Спасибо, Леонид. Отсутствие коммитов в исходный код хаба в течение 4-5 последних месяцев немного пугает.

    Экземпляр создавать нельзя, но пользоваться статическими методами абы какого класса можно? Типа "сделал метод статическим - значит сам виноват, подразумеваешь возможность его вызова извне"?

    в ответ на Вызов не-статического метода класса в шаблоне

  • Dima Stefantsov Dima Stefantsov 24 апреля 2015 06:12 #

    Понятно, что можно передумать. Но это ж дебаг, там не код на 3 часа выполнения, там "отменить" в принципе не надо. Если случайно нажал лишний раз - фиг с ним, через секунду нажму ещё.

    Это нестандартное поведение. Поведение на keyup в стандартных интерфейсах я видел только для мышки. Для сочетаний клавиш на клавиатуре всегда на keydown, попробуйте Alt+F4, что угодно.

    Про альты подробно, спасибо. А jQuery ctrlKey не включает в себя маковскую cmd? Ну написать там тогда || cmdKey что-нибудь такое.

    Обратная совместимость важна. Раз альт никому не мешается, его действительно нужно оставить.

    Не зря во всех IM клиентах существует отправка или по Enter или по Ctrl+Enter. Потому что это самое удобное сочетание. Это как Alt+F4, Ctrl+Alt+Del, Esc: оно зашито у большинства. Сделал дело - нажал Ctrl+Enter, одной рукой! Может быть второй я голову поддерживаю =)
    Так что в дополнение к альту стоит сделать и возможность использовать Ctrl. Сделать - громко сказано. Дописать || ctrlKey.

    в ответ на Удобно узнать всё, что доступно в шаблоне

  • Dima Stefantsov Dima Stefantsov 24 апреля 2015 05:36 #

    Чтобы получить методы, я напрямую смотрю исходники хэлперов. $wa->hub, например - это класс hubViewHelper"
    До вчерашнего дня у меня не было доступа к репозиторию. Для следующего поколения: там в приватном репозитории, куда нужно попроситься, сразу не только исходники Shop-Script, но и Hub.

    "Во время разработки - и PHP, и Smarty - совершенно бесценную помощь оказывает приложение developer."
    По совету Алексея начал использовать его, целый день там просидел. Действительно классно. Must have.

    Вы же сотрудник Webasyst, мне кажется намного удобнее было бы запускать там по Ctrl+Enter, а не тянуться к альту (который на моём ноутбуке например вообще только один и слева). Кроме того, там стоит хук на .keyup, то-то я думаю почему у меня не всегда нажатия проходят - а это просто надо отпускать клавиши по порядку! Возможно там у вас какой-то глубокий смысл, я его не нашёл и исправил:

    \wa-apps\developer\js\coding-sandbox.js

    // Callback for Codemirror to ignore Ctrl+Enter
    var onKeyEvent = function(editor, e) {
    e = new $.Event(e.type, e);
    if (!e || !e.which) {
    return;
    }
    if (e.which == 13 && e.ctrlKey) {
    return true; // prevents codemirror default action
    }
    };

    // Run on Ctrl + Enter
    $(document).keydown(function(e) {
    if (!e || !e.which) {
    return;
    }
    if (e.which == 13 && e.ctrlKey) {
    $('#send').click();
    return false;
    }
    });

    Теперь ещё удобнее! Надеюсь вольёте это в репозиторий.

    Спасибо за помощь!

    в ответ на Удобно узнать всё, что доступно в шаблоне

  • Dima Stefantsov Dima Stefantsov 23 апреля 2015 08:47 #

    Превосходно! То, что надо!

    в ответ на Удобно узнать всё, что доступно в шаблоне