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

 
создадим новы сниппет 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]]

или


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

Текущий url в JS

 
Получить информацию о текущем url через Js.

Объект
window.location


Свойства:
window.location.href – полный путь к запрошенной странице – www.site.ru/somepage
window.location.host – имя сервера (домен) и порт – www.google.com:80
window.location.hostname – имя сервера без порта – www.google.com
window.location.hash – хеш, указание на конкретный элемент страницы (то, что идет после символа # в адресе)
window.location.pathname – собственно строка пути относительно корня веб-сайта
window.location.port – номер порта
window.location.protocol – используемый протокол (http://)
window.location.search – часть адреса, содержащая GET-параметры (т. е. после символа? в адресе и до #)

Пример:
if (window.location.pathname == '/' || window.location.pathname == '/index.html')
{
    // Это главная страница
}

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

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

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

eSyndiCat_v2.5.0_Nulled скачать для создание каталога сайтов

 
Для тех кто хочет создать свой собственный каталог сайтов очень хорошо подходит eSyndiCat
для примера можем взглянуть на _1wc.tv

Версия: 2.5.0
Nulled: Да
Ссылка для скачивания

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

Mod_rewrite удаляем повторяющиеся страницы сайта

 
Всем известно, что главную страницу вашего сайта можно открыть по следующим адресам
http://www.mysite.ru/
http://mysite.ru/
http://www.mysite.ru/index.html
http://mysite.ru/index.html

Ну и констатируем что поисковик видит все эти четыре адреса как 4- самостоятельных страницы, оговорюсь, не всегда но иногда. Для того чтобы этого избежать пишем следующее
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.ru
RewriteRule (.*) http://www.mysite.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.mysite.ru/ [R=301,L]

И теперь мы получаем редирект всех страниц на 'http://www.mysite.ru/'

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

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

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

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

Подсчет колличество записий удовлетворяющих условиям с группировкой

 
собственно тут мы селектим из одной таблицы по уникальному полю name и суммировали для них колличество записей
SELECT name, COUNT( * ) as kolvo FROM allinks WHERE  mach = 1 GROUP BY  name
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,'%')