-
Yii2. Как отдать файл на скачивание?
Задача программной отдачи файла может встретиться довольно часто, но не многие знают, что в Yii2 есть встроенный методы, помогающие решить проблему отдачи файла в браузер на скачивание. В этой короткой заметке — пример решения задачи. Поехали! В принципе, все средства описаны в документации. Я лишь приведу несколько примеров и пояснений. Наиболее полезными и часто используемыми…
-
OpenLayers3. Как добавить базовые слои Google Maps.
При работе с OpenLayers — первоочередная задача указать базовый слой. OSM, которые предлагается по умолчанию — редко удовлетворяет требованиям — поэтому в этой статье пример создания базовых слоёв с GoogleMaps. layers: [ new ol.layer.Tile({ id: ‘l0’, title: » Google Road Names», type: ‘base’, visible: ( baseLayer == ‘l0’ ), source: new ol.source.TileImage({ url: ‘http://mt1.google.com/vt/lyrs=h&x={x}&y={y}&z={z}’ }),…
-
OpenLayers. URL-адрес карты Google Maps для базовых слоёв. (url google maps for base layers)
В OpenLayers версии 3, в отличии от версии 2 — добавление базового слоя с GoogleMaps не есть насколько очевидным. Но, при этом ничего сложного абсолютно нет. В статье — пример определения URL по нужному Вам типу карты. Итак, базовый вид ссылки имеет вид: http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga Обратите внимание на параметр lyrs. Именно он отвечает за тип возвращаемых…
-
Yii2. Telegram API. Как отправить круглое видео (video note)?
Ещё одна статья в цикле статей с рабочими примерами отправки медиа-файлов в Telegram через API. Сейчас речь пойдет о круглых видео, которые также называют видео-заметками (video-note). В этой и следующих статьях, использую расширение SonkoDmitry\Yii\TelegramBot\Component. За долгое время экстеншн прижился и отлично работает — за что автору огромная благодарность. В актуальной, на момент выхода статьи, версии…
-
Yii2. Telegram API. Как отправить фото?
Ещё одна статья в цикле статей с рабочими примерами отправки медиа-файлов в Telegram через API. Сейчас речь пойдет о фото-файлах. В этой и следующих статьях, использую расширение SonkoDmitry\Yii\TelegramBot\Component. За долгое время экстеншн прижился и отлично работает — за что автору огромная благодарность. \Yii::$app->tg->sendPhoto([ ‘chat_id’ => $t[‘telegram_id’] , ‘photo’ => \Yii::getAlias(‘@frontend/web/files/source_file.jpg’), ‘caption’ => ‘Текстовое опсиание фото’…
-
Yii2. Telegram API. Как отправить видео?
Продолжаю небольшой цикл статей с наглядными примерами решения задачи отправки медиа-файлов в Telegram при помощи нативного API. Сейчас речь пойдет о видео-файлах. В этой и следующих статьях, использую расширение SonkoDmitry\Yii\TelegramBot\Component. За долгое время экстеншн прижился и отлично работает — за что автору огромная благодарность. \Yii::$app->tg->sendVideo([ ‘chat_id’ => $t[‘telegram_id’] , ‘video’ => \Yii::getAlias(‘@frontend/web/files/source_file.mp4’), ‘caption’ => $this->sourceMessage[‘message’][‘caption’]…
-
Yii2. Telegram API. Как отправить аудио?
Решил сделать небольшой цикл статей с примерами о том, как отправить медиа-файлы в Telegram при помощи API. Сейчас речь пойдет о аудио-файлах. В этой и следующих статьях, использую расширение SonkoDmitry\Yii\TelegramBot\Component. За долгое время экстеншн прижился и отлично работает — за что автору огромная благодарность. \Yii::$app->tg->sendAudio([ ‘chat_id’ => $targetChatId , ‘audio’ => \Yii::getAlias(‘@frontend/web/files/source_file.oga’), ‘caption’ => «Текстовое…
-
jQuery. Как программно нажать на download-ссылку? (click trigger on download-link)
В случае с download-ссылкой простой генерации триггера для нажатия на ссылку и соотв. начала скачивания, недостаточно. Требуется другой подход, пример которого в этой статье. Допустим, что у нас есть ссылка следующего вида: Скачать Чтобы програмно нажать на неё и вызвать диалог сохранения файла недостаточно вызвать привычный $(«#lnk»).trigger(«click»); Приведу примеры на jQuery и на нативном JS.…
-
DropZone. Как изменить текст по умолчанию?
Если Вы встраиваете DropZone в клиентский интерфейс — вероятно Вам нужно будет изменить текст по умолчанию. В этой статье — параметр, который поможет в этом. В целом тема освещена в документации — но не всегда и не все ищут материал на оф. сайте продукта. В целом локализация DropZone происходит при помощи параметров с префиксом dict*.…
-
Yii2. Как сделать deleteAll с условием NOT IN?
Удаление записей в Yii2 при помощи метода deleteAll и условии not in выглядит не очень очевидным и столкнувшись с этой задачей, решил написать короткую заметку с примером реализации. Секрет в том, что условие надо задавать в виде массива. Приведу пример: SomeModel::deleteAll([ ‘AND’, ‘post_id’ => $id, [‘not in’, ‘id’, $arrayOfIds], ]); Этот пример сгенерирует следующий запрос…
