Довольно часто новичкам, которые начинают работать с MODX, приходится сталкиваться с тем, что для решения какой-нибудь элементарной задачи приходится долго искать готовые решения. Сейчас мы разберем, как писать свои сниппеты?

Разберем на небольшом примере.

Часто приходится иметь дело со следующей ситуацией: есть сайт-каталог, товары в каталоге имеют численную характеристику, будь то вес, или чаще всего цена. В том случае, если цена используется для фильтрации товаров, тогда TV параметр должен иметь формата числа, но для пользователей числа надо форматировать. Вот этим мы как раз и займемся.

Есть MODX Revolution, есть TV-параметр «price», в нем есть значение 5000000 (пять миллионов). Согласитесь, понять 5 миллионов или 500 тысяч — понять довольно сложно, но так как оно численное, с ним удобно работать для сравнения и фильтрации.
Читать далее →

И так встал вопрос в изучении json-a долго ковырялся и тог что бы не забыть

$jsonString = '
{                                          
  "orderID": 12345,                        
  "shopperName": "Сергей",             
  "shopperEmail": "ivanov@example.com", 
  "contents": [                            
    {                                      
      "productID": 34,                     
      "productName": "Супер товар",        
      "quantity": 1                       
    },                                     
    {                                      
      "productID": 56,                     
      "productName": "Чудо товар",       
      "quantity": 3                        
    }                                      
  ],                                       
  "orderCompleted": true                   
}                                          
';
 
$cart = json_decode($jsonString);

echo $cart->orderID." ФИО ".$cart->shopperName.' E-Mail '. $cart->shopperEmail."
"; for ($i = 0; $i <= 1; $i++) { echo $cart->contents[$i]->productID.':'.$cart->contents[$i]->productName . "
"; }

получаем

12345 ФИО Сергей E-Mail ivanov@example.com
34:Супер товар
56:Чудо товар

а теперь самое интересное, как работать с объектами, сразу оговорюсь что объект с начало нужно привести к массиву

class foo
{
	public $a = "Константа \"а\" не обпределена";
    public $b = "Константа \"b\" не обпределена";
    
	
    function do_foo()
    {
        echo $this->a; 
		echo '
'; echo $this->b; } } $arr = (array) $bar; //приводим к массиву $a = json_encode($arr); $b = (array)json_decode($a); var_dump ($b);

получаем

array(2) { ["a"]=> string(51) "Константа "а" не обпределена" 
["b"]=> string(50) "Константа "b" не обпределена" }

Формы – это первый и один из главных элементов взаимодействия пользования с Вашим сайтом. Именно через форму пользователь (не берём во внимание хакеров) передаёт параметры (строки) непосредственно в Ваш код, скрипт-обработчик. Это первое место, где любой зложелатель пытается напакостить и испоганить Ваш прекрасный сайт.
Читать далее →

На сколько бы это глупо не казалось, но для удачного выставления кодировки необходимо выполнить целых 11(!) правил.
Хочу зарание предупредить, если какая-то из настроек в .htaccess повлечет за собой ошибку 500, это значит, что хостинг запретил менять этот параметр на сервере. В таком случае проверьте тот факт, что у Вас UTF-8 и в случае чего обратитесь к админам хостинга.
И для тех, кто попал на эту страницу с вопросами об Ajax: Ajax работает в кодировке UTF-8.
Читать далее →

Для редактирования файлов в процессе работы мы будем использовать ре­дактор ее (полный путь /usr/bin/ee). Вот список наиболее употребитель­ных команд:
Читать далее →

Иногда надоедает бегать по интернету когда забудешь ту или иную команду, да все нельзя помнить, да и когда с этим не работаешь каждый день
Читать далее →

Всем доброго времени!
Оставлю здесь небольшой простенький скрипт для плавного скроллинга(прокрутки) страницы к указанному элементу. Скрипт работает так: ловит событие клика по ссылке с атрибутом href=’#element’ или href=’.element’, где element — это id/класс элемента к которому нам надо прокрутить страницу, дальше с помощью animate анимируем событие прокрутки.

$(document).ready(function(){
    $('a[href^="#"], a[href^="."]').click( function(){ // если в href начинается с # или ., то ловим клик
	    var scroll_el = $(this).attr('href'); // возьмем содержимое атрибута href
        if ($(scroll_el).length != 0) { // проверим существование элемента чтобы избежать ошибки
	    $('html, body').animate({ scrollTop: $(scroll_el).offset().top }, 500); // анимируем скроолинг к элементу scroll_el
        }
	    return false; // выключаем стандартное действие
    });
});

Теперь при нажатии на ссылку

Туда или Сюда

страница плавно проскролится к элементу с id=»elm» или class=»elm» соответственно.

Чaстo бывaет, чтo нa кaкoй-либo сaйт нужнo пo-быстрoму зaпилить всплывaющее oкнo с сooбщением или, нaпример, с фoрмoй, a испoльзoвaть гoтoвые плaгины типa лaйтбoксoв/кoлoрбoксoв не хoчется пo причинaм жирнoгo весa, дoлгoгo пoдключения, кoнфликтнoсти, дa и прoстo лени, пoэтoму в этoй стaтье зaпилим свoе быстрoе решение прoстoгo мoдaльнoгo oкнa с прикoльнoй aнимaцией нa jQuery и СSS.
Читать далее →

И так попросил коллега

ini_set('date.timezone', 'Europe/Moscow');//установили что мы в москве, но это не нужно просто баловство

И так попробуем свою дату превратить в UNIX формат

$date_elements[0] = 2016; //заносим год
$date_elements[1] = $month;//заносим месяц
$date_elements[2] = $day; //заносим день
$t=mktime(3,0,0,$date_elements[1],$date_elements[2],$date_elements[0]); 

где 3,0,0 это +3 часа для Москвы