Получить все категории товарв

 
создадим новы сниппет getPartCategories

<?php
/**
 * 
 * @example {'!get_сat_anket' | snippet : ['res_id' => $modx->resource.id]}
 * 
*/
$tpl = $modx->getOption('tpl', $scriptProperties, '@INLINE <a href="{$uri}">{$pagetitle}</a>');
$res_id = $modx->getOption('res_id', $scriptProperties, 0);
$return = $modx->getOption('return', $scriptProperties, 'html'); // html|ids|ids_arr
if ($res_id == 0) {
    return false;
}
$modx->getService('miniShop2');
$q = $modx->newQuery('msCategoryMember');
$q->leftJoin('modResource', 'R', 'R.id = msCategoryMember.category_id');
$q->select(['`R`.`id`', '`R`.`pagetitle`', '`R`.`uri`']);
$q->where(['`msCategoryMember`.`product_id`' => $res_id]);
$cats = $modx->getIterator('msCategoryMember', $q);
if ($cats == null) {
    return false;
}
$pdo = $modx->getService('pdoTools');
$out = [];
$res_obj = $modx->getObject('modResource', ['id' => $res_id]);
$parent = $modx->getObject('modResource', ['id' => $res_obj->get('parent')])->toArray();
if ($return == 'html') {
    $out[] = $pdo->getChunk($tpl,$parent);
    foreach ($cats as $c){
        $out[] = $pdo->getChunk($tpl,['uri' => $c->get('uri'), 'uri' => $c->get('pagetitle')]);
    }
    return implode("\r\n", $out);
}
if ($return == 'ids' || $return == 'ids_arr') {
    $out[] = $parent['id'];
    foreach ($cats as $c){
        $out[] = $c->get('id');
    }
    if ($return == 'ids') {
        return implode(',', $out);
    }
    return $out;
}
return false;


вызов

{'!getPartCategories' | snippet : ['res_id' => $modx->resource.id]}

MIGX кастомный renderer для TV

 
если нам необходимо для рендеренга в списка id ресурса то вам поможет следущий пример

во вкладки формы я использовал Tv с выводом ресурсов имя которого res_list_one

      {
        "field": "res_id",
        "caption": "Товар",
        "inputTV": "res_list_one"
      }


а вот в Разметка колонок для данного поля указал renderer


{
  "header": "Товар",
  "dataIndex": "renderer",
  "renderer": "this.renderChunk",
  "renderchunktpl":"[[#[[+res_id]].pagetitle]]"
}

Снипет для оберзки текста

 
Данный снипет
  • обрезает текст до последнего пробела
  • очищает от тегов
  • Добавляет точки в конец если обрезка произошла
использовать можно двумя способами
[[!cutstr? &text=`[[*introtext]]` &q=`150` &tag=`1` &dot=1]]

или


Читать дальше

Сгенерить код картинки или код ссылки теперь может и домохозяйка

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

Сам сайт посещаем тут http://tech.z1q.ru/
Обсуждаем тут На форум...

12 советов от Гари Бил 2013 год

 
Ну вот собственно товарищ из-за бугра решил проветить нас горемычных в СЕО, и для этого он 12 советов на конференции Экспо РФ в Москве

Вы можете его скачать тут

или обсудить на форуме
SQL

MySQL SELECT with LIKE

 
Для тех кому ну уж очень приспичило выбрать строки из двух таблиц посредством LIKE собственно ниже запрос
тут используем CONCAT('%',_pole_,'%')
SELECT 
    al.link, gl.link  
FROM 
    glinks gl 
LEFT JOIN 
    allinks al 
ON 
    al.link LIKE CONCAT('%',gl.link,'%')

Проверка файла на удаленном сервере

 
Для того чтобы проверить наличие файла на удаленном сервере его не обязательно скачивать достаточно увидеть заголовки.
Мы будем проверять функцией @get_headers()

// файл, который мы проверяем
$url = "http://z1q.ru/mypic.png";
// получаем заголовки
$Headers = @get_headers($url);
// проверяем наличие HTTP/1.1 200 OK
if($Headers[0] == 'HTTP/1.1 200 OK') {
echo "Файл существует";
} else {
echo "Файл не найден";
}

Файл настроек PHP - php.ini в *nix

 
Иногда просто из головы вылетает где лежит конфигурационный файл php.ini
ОС — FreeBSD, Linux Debian/ubuntu и Linux CentOS/RedHat.


Читать дальше

Bitrix на веб окружение с ошибкой UTF-8

 
При переносе сайта на Bitrx web окружение возможна вот такая ошибка
Для продолжения установите настройки PHP: mbstring.func_overload=0 или mbstring.internal_encoding=ISO-8859-1.
для того чтобы поправить ситуацию в директиве файла nano /etc/httpd/bx/conf/default.conf внашем редиректе добавляем выделенную ниже строку
<Directory /home/bitrix/www/>
            ...
                php_admin_value mbstring.func_overload 0
            ...
        </Directory>
 
тут показана совсем стандартная конфа, но не в этом суть

DbSimple настройка

 
для начала качаем отсюда utf-8 версию DbSimple


Читать дальше