вторник, 16 февраля 2021 г.

bitrix Обновление компонента в режиме ajax извне

 Задача у меня стояла связать умный фильтр и вывод списка новостей

в первом компоненте bitrix:catalog.smart.filter

добавляем

"INSTANT_RELOAD" => "Y",//обновлять при выборе

"AJAX_MODE" => "Y",//использовать ajax


во втором компоненте bitrix:news.list

"AJAX_MODE" => "Y",

в шаблоне компонента вверху добавляю id="compare-refresh"

...

$this->setFrameMode(true);

?>

<span id="compare-refresh"></span>

...

и теперь идём в шаблон  bitrix:catalog.smart.filter и открываем script.js, ищем функцию JCSmartFilter.prototype.postHandler = function (result, fromCache) (примерно 160 строка у меня)


после this.cacheKey = ''; перед закрытием функции добавляем

        let componenturl = removeParam('bxajaxid', url);//удаляем из url параметр bxajaxid

let compid = $("#compare-refresh").parent().prop('id');//ищем у второго компонента id там запсан его bxajaxid BX.ajax.insertToNode(componenturl+'&bxajaxid='+compid.replace("comp_", ""), compid);//собственно сам запрос который обновит компонент

и ниже добавляем функцию очистки параметра из url

function removeParam(key, sourceURL) {

  var splitUrl = sourceURL.split('?'),

    rtn = splitUrl[0],

    param,

    params_arr = [],

    queryString = (sourceURL.indexOf("?") !== -1) ? splitUrl[1] : '';

  if (queryString !== '') {

    params_arr = queryString.split('&');

    for (var i = params_arr.length - 1; i >= 0; i -= 1) {

      param = params_arr[i].split('=')[0];

      if (param === key) {

        params_arr.splice(i, 1);

      }

    }

    rtn = rtn + '?' + params_arr.join('&');

  }

  return rtn;

}

вот как выглядит у меня



вторник, 24 сентября 2019 г.

mint не работает колесо мыши

Случилось так, что я не заметил когда, но колесо мышки перестало работать, первая мысль сломалась от времени, но нет подключаю к ноутбуку и всё работает.

Поиски в интернетах особо не помогли, закралась мысль что это всё произошло после обновления. И тут действительно на одном форуме пишут что это может быть баг в ядре.

Загружаюсь с другой версией ядра и колесо снова работает.

редактируем grub
$ sudo nano /etc/default/grub 

прописываем эти строки
GRUB_DEFAULT=saved #это  сохранит выбор и после перезагрузки загрузит эту версию
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=10 #чтобы успеть зайти в grub

у меня была версия 
4.15.0-64-generic
и мышь корректно заработала только на этой
4.15.0-58-generic

воскресенье, 3 мая 2015 г.

bluetooth гарнитура в ubuntu 14,04

Казалось бы все должно было завестись с коробки и без претензий, взял я потестить Logitech H800. Обычная стереогарнитура, в моем случае было интересно как будут работать уши, что касается микрофона не проверял не знаю что с ним вообще.

В общем включил сделал сопряжение все прошло на ура, но при попытке подключить их звука нету, и пишет странную надпись.

Соединение невозможно или разорвано: Stream setup failed
или
устройство успешно добавлено но соединение с ним невозоможно.
И тут понеслось ставить alsa и сносить pulse както не с руки было.

Решение оказалось простым.

$ pactl load-module module-bluetooth-discover
И вот уже bluemon спокойно подключл их но звук по прежнему идет на колонки. Тут ещё проще открываем pavucontrol и выбираем Вкладку "Устройства Вывода" ставим использовать по умолчанию.

Вот и все.
Решение нашлось тут

четверг, 28 августа 2014 г.

Android #1

Первым делом начнем со среды разработки, поскольку eclipse у меня вылетал я поставил andriod studio мне понравилось но сильно тормозит.

Во время написания программы оказалось не плохо бы запомнить структуру файлов:
src – весь, написанный нами код приложения, будет в этой папке и ее подпапках
src/main/java/com......./myActiviti.java - сам код в котором и происходит все интересное
gen – генерируемые средой разработки файлы, необходимые для приложения. Здесь лучше ничего не трогать . (Если этой папки нет - измените какой-либо файл в проекте и нажмите кнопку сохранить). 
Android 4.4.2 – необходимые для приложения Android-библиотеки
assets и res – папки для файлов-ресурсов различного типа
src/res/layout/activity_my.xml - тут будет то что мы увидем при запуске приложения
src/res/values/strings.xml - а тут мы будем хранит переменные
AndroidManifest.xml – манифест или конфиг-файл приложения

четверг, 13 февраля 2014 г.

mPDF сохранение файла

Удивительно но почемуто найти в сети мануал по сохранению отработанного mPDF довольно тяжело, да и на официальном сайте страница с документацией была недоступна, поэтому поделюсь этим тут.

Материал взят отсюда: http://mpdf1.com/manual/index.php?tid=125

$mpdf->Output('file','save');

Где file это файл это имя файла который будет сохранен. 
Например file.pdf

save это то как мы будем сохранят файл принимает 4 значения

I: отправить файл в браузер. Имя file будет использовано если вы захотите сохранить файл из браузера к себе на компьютер. Используется по умолчанию.
$mpdf->Output('file.pdf','I');
D: Отправит в браузер, и начнет загружать на компьютер, используя имя файла file.
$mpdf->Output('file.pdf','D');
F: сохранить файл на сервере (при этом file может содержать путь).
$mpdf->Output('catalog/file.pdf','F');

S: вернуть документ как string. file игнорируется. Используется если вы хотите отправить pdf файл на e-mail.
$mpdf->Output('','S');



воскресенье, 15 декабря 2013 г.

initframs после некорректной перезагрузки

Последнее время у меня после некорректной перезагрузки перестал запускаться Xubuntu.

Чтобы это исправить, нужно загрузиться с liveCD/LiveUSB.
Запускаем терминал, переходим в root
 $sudo su
#fdisk -l

смотрим что мы имеем

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00036550

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758   976771071   488134657    5  Extended
/dev/sda5          501760   976771071   488134656   8e  Linux LVM

Disk /dev/mapper/xubuntu--vg-root: 497.7 GB, 497654169600 bytes
255 heads, 63 sectors/track, 60503 cylinders, total 971980800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/xubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/xubuntu--vg-swap_1: 2143 MB, 2143289344 bytes
255 heads, 63 sectors/track, 260 cylinders, total 4186112 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/xubuntu--vg-swap_1 doesn't contain a valid partition table

Disk /dev/sdb: 3978 MB, 3978297344 bytes
255 heads, 63 sectors/track, 483 cylinders, total 7770112 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000109b5

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63     7759394     3879666    c  W95 FAT32 (LBA)
Жирным шрифтом я выделил то что нам понадобится
диск у меня разбит поэтому создадим 3 папки в каталоге mnt
#mkdir /mnt/sda1  && mkdir /mnt/sda2 && mkdir /mnt/sda5
Забегая вперед могу сказать что при монтировании sda5 у меня показывает ошибку:
# mount /dev/sda5 /mnt/sda5
mount: unknown filesystem type 'LVM2_member'

чтобы это предотвратить:

дальше были мои поиски чтото из этого мне помогло

# vgscan
# vgdisplay xubuntu-vg
# vgchange -a y 
# ls /dev/mapper/
# fsck.ext4 /dev/mapper/xubuntu--vg-root
# mount -t ext4 /dev/mapper/xubuntu--vg-root /mnt/sda5
# mount /dev/sda1 /mnt/sda1

 
# chroot /mnt/sda5

вторник, 22 января 2013 г.

Создание симлинков на PHP

Создание симлинков на PHP

if(symlink("откуда", "куда")) echo "<font color=green>Символические ссылки удачно созданы</font>";