0

jQuery не обрабатывать событие для дочерних элементов

У меня возникла ситуация когда у меня изображение используется как background к элементу li, а в li вложены другие элементы, такие как стрелки, иконки и т.д, и мне необходимо обрабатывать нажатие непосредственно на элемент li но не на другие, нашел готовое решение

[-]
View Code PHP
$(".nav > li").click(function(e){
    if(e.target != this) return; // only continue if the target itself has been clicked
    // this section only processes if the .nav > li itself is clicked.
    alert('you clicked .nav > li, but not it\'s children');
});

 

0

Bluetooth-гарнитура Nokia BH-503 и Iphone не видят друг друга

Столкнулся с тем что когда перевожу гарнитуру в режим сопряжения, и включаю на Iphone bluetooth то он не видит гарнитуры, в русскоязычном сегменте сети так и не смог найти решения проблемы, а вот на одном из англоязычных форумов подсказали правильное решение — гарнитуру нужно сбросить на родные настройки, ибо скорее всего у нее в памяти висит «связь» с другим устройством и поэтому она не хочет связываться с Iphone. Проверил — все ок, Iphone быстро нашел гарнитуру, все работает :)

 

0

Сервис для бекапа и/или трансфера данных

Нашел полезный сервис https://mybackupbox.com/ . Как гласится на сайте то он служит для переноса данных откуда угодно — куда угодно. Сейчас я вот настроил FTP -> box.com  перенос данных, интересно что сервис еще умеет архивировать данные перед заливкой. Понравилось что все задачи можно планировать и выставлять им дни/время выполнение, вобщем своеобразный крон. У бесплатной версии есть ограничения:

1. Не больше 1 Гб данных за один трансфер

2. Не больше 10 трансферов в месяц

3. Одновременно может работать только один трансфер ( не знаю как с этим пунктом, но у меня сейчас параллельно 2 выполняются :) )

 

0

Перемещение элемента массива в начало

Понадобилось переместить элемент ассоциированного массива в начало, решение оказалось достаточно простым:

[-]
View Code PHP
$a=array('position'=>array('description' => "По умолчанию",'default_order' => "asc"),'product'=>array('description' => "Название",'default_order' => "asc"),'price'=>array('description' => "Цена",'default_order'=>"asc"));

$new = array('price' => $a['price']) + $a;

Таким образом элемент price будет перемещен в самое начало архива

 

0

Smarty вырезаем переносы строк

Если классический {strip} вам не помог, то попробуйте следующее решение, которое помогло мне:
обрамляем весь контент в capture

[-]
View Code PHP
{capture name="spaces"}html content{/capture}

а потом выводим его и делаем замену по регулярному выражению

[-]
View Code PHP
{$smarty.capture.spaces|regex_replace:"#\s+#":" "}

 

1

CDbExpression - NOW(), DATE_FORMAT()

Наверняка, многие используют в SQL запросах встроенные функции NOW(), DATE_FORMAT() и т.д.

Если просто добавить в запрос NOW(), то результат будет не тем, который ожидается.

Так как NOW() будет восприниматься как строка.

[-]
View Code PHP
Yii::app()->db->createCommand()->insert('table', array(    
    'title'=> 'title1',    
    'description'=> 'description1',  
    'date_now' => 'NOW()',  
));

Поэтому необходимо использовать CDbExpression.

[-]
View Code PHP
Yii::app()->db->createCommand()->insert('table', array(    
    'title'=> 'title1',    
    'description'=> 'description1',  
    'date_now' => new CDbExpression('NOW()'),  
));

Ещё один пример, но уже с DATE_FORMAT:

[-]
View Code PHP
$dateNow = new CDbExpression("DATE_FORMAT(date_now, '%Y-%m-%d') AS dateNowFormat");  
 
$allRecords = Yii::app()->db->createCommand()    
    ->select('title, description, '.$dateNow.'')  
    ->from('table')    
    ->queryAll();

либо:

[-]
View Code PHP
$allRecords2 = Yii::app()->db->createCommand()    
    ->select(array('title', 'description', new CDbExpression("DATE_FORMAT(date_now, '%Y-%m-%d') AS dateNowFormat")))  
    ->from('table')    
    ->queryAll();

либо:

[-]
View Code PHP
$criteria = new CDbCriteria();    
$criteria->select = new CDbExpression("DATE_FORMAT(date_now, '%Y-%m-%d') AS dateNowFormat");

 

 

 

0

Yii DAO и маппинг

При работе с фреймворком yii возникла необходимость выполнить сложный sql-запрос. Такой, что проще было использовать DAO, чем Active Record.

Но очень расстраивало, что DAO возвращает ассоциированные массивы, а не объекты. Везде на сайте используется ORM, а тут вдруг выборка массивами…

К счастью, было найдено решение при помощи PDO-магии. И оно работает, отдает и заполняет объект, как при использовании AR.

[-]
View Code PHP
$command=Yii::app()->db->createCommand($sql);
$command->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, "Post");
$posts=$command->queryAll();

 

0

Yii: Как избавиться от index.php в адресе?

1. В файле .htaccess надо дописать строку:
AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php

2. В config/main.php установить свойство ‘showScriptName’ компонента urlManager в false:

'showScriptName'=>false,