---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- Копия ДП getObject('modTemplateVarResource', array( 'tmplvarid' => $tvid, 'contentid' => $from )); $tv = $tvr->get('value'); $res = $modx->getObject('modResource', $to); $res->setTVValue($tvid, $tv); ---------------------------------------------------------------------------------------------------- Вставка в статью по ID ---------------------------------------------------------------------------------------------------- Режем картинку CSS clip-path: polygon(0.00% 0.00%,100.00% 0.00%,100.00% 65%,0.00% 65%); https://atuin.ru/tools/clip-path/ ---------------------------------------------------------------------------------------------------- BACKDROP ---------------------------------------------------------------------------------------------------- Чат GPT логин evgenii4747@gmail.com пароль 10032023artemov https://discord.com/ evgenii4747@gmail.com ND0toV68G60JPM ---------------------------------------------------------------------------------------------------- '; print_r($this->category->meta_description);exit; var_dump($this->category->meta_description);exit; echo ''; ?> ---------------------------------------------------------------------------------------------------- valenina.orloff@gmail.com - 67dw$#{MhL~LW?o9SB orlovv721@gmail.com - R2ZhTcJymlfRIcAZ9d ---------------------------------------------------------------------------------------------------- МАСКА для КАРТИНКИ background: #047985; -webkit-mask-image: url(../img/phone.svg); mask-image: url(../img/phone.svg); ---------------------------------------------------------------------------------------------------- MIGX в MIGX (fenom) http://puzo.artmebius.ru - https://проспект-сервис.рф {if $employeesService = $_modx->resource.employees | fromJSON}
{foreach $employeesService as $tab}
{$tab.jobtitle}
{$tab.name}
{$tab.phone}
{if $list = $tab.adress_list | fromJSON}
{foreach $list as $i => $row} {$row.adress} {/foreach}
{/if}
{$tab.name}
{/foreach}
{/if} ---------------------------------------------------------------------------------------------------- Превращаем меню в вкладки(ТАБЫ) https://wattnn.ru/ https://пкбпокрытия.рф/ [[+id:eq=`1764`:then=` [[!fenom_template?&tpl=`catalog_menu`]] `]] {set $menu = (1 | resource : 'catalog_menu') ? (1 | resource : 'catalog_menu' | fromJSON) : ''} {if $menu} {* первый уровень *} {/if} ---------------------------------------------------------------------------------------------------- Перенос блока при изменении расширения экрана #where - где находится .what - что переносим .clone - куда переносим Еще один вариант CodePen - A Pen by Ildar Meyker

Перенос из одного места в другое при изменении ширины монитора

contactsBox

  • Петя
  • Юля

nav

---------------------------------------------------------------------------------------------------- Скрыть - показать - аккордеон ---------------------------------------------------------------------------------------------------- Способ фиксирования ШАПКИ scroll
Шапка

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

ДОПОЛНЕНИЕ ---------------------------------------------------------------------------------------------------- SLICK с превьюшками
Верь в себя!

№1 на YouTube

№1 в с сетях

№1 в ТОП 5 в детской категории App Store

Первые и лучшие с 1986 года!

№1 по продажам в мире

400 новых моделей ежегодно

3 млн просмотров на YouTube

---------------------------------------------------------------------------------------------------- Показать - скрыть блок Показать текст ---------------------------------------------------------------------------------------------------- Срабатывание SLICK (RESIZE - на малых разрешениях - меньше чем 768px) ---------------------------------------------------------------------------------------------------- При нажатии на название - открывается страница, при нажатии на стрелочку - разворачиваются дочерние ресурсы menu_li.Parent [[-image:notempty=`[[+wf.linktext]]`]] [[+wf.linktext]] [[+wf.wrapper]] menu_li.Parent.Active [[-image:notempty=`[[+wf.linktext]]`]] [[+wf.linktext]] [[+wf.wrapper]] menu_li.Parent.Current [[-image:notempty=`[[+wf.linktext]]`]] [[+wf.linktext]] [[+wf.wrapper]] ---------------------------------------------------------------------------------------------------- Микроразметка для MODX SCHEMA.ORG

Часто задаваемые вопросы

Вопрос?

Ответ

Последние статьи

Обзор современных фреймворков и инструментов...

Смартфон iPhone 15 Pro 256GB

iPhone 15 Pro черный iPhone 15 Pro вид сбоку

Флагманский смартфон Apple с процессором A17 Pro, камерой 48 МП и дисплеем Super Retina XDR. Динамический остров, защита от воды IP68.

Бренд: Apple Apple
Артикул: IP15P256GB-BLK
★★★★☆ 4.7/5 на основе 1289 отзывов
109 990 ₽
119 990 ₽
В наличии

Смартфон Apple iPhone 15

iPhone 15 128GB
Бренд: Apple
89 990 ₽
В наличии
---------------------------------------------------------------------------------------------------- https://codepen.io/testingroom/pen/NWYPgBd спойлер для "тегов" текст на кнопке так же меняется 4-м и 5-м параметром, например $('.item').spoiler_elems(5,1,0,'Открыть','Закрыть'); 1-й параметр кол-во элементов для показа и шаг, если по частям открывать ---------------------------------------------------------------------------------------------------- Удаляем фильтр товаров - если их нет (Joomla) ---------------------------------------------------------------------------------------------------- Избавляемся от лишних слешей (MODX) [[+image_absolute:phpthumbon:replace=`///==/`]] ---------------------------------------------------------------------------------------------------- Снипет для русификации даты 'Января', '02' => 'Февраля', '03' => 'Марта', '04' => 'Апреля', '05' => 'Мая', '06' => 'Июня', '07' => 'Июля', '08' => 'Августа', '09' => 'Сентября', '10' => 'Октября', '11' => 'Ноября', '12' => 'Декабря' ); $time = strtotime($input); $month = $month_arr[strftime('%m', $time)]; $day = strftime('%d', $time); $year = strftime('%Y', $time); $weekDay = strftime('%A', $time); $options = $options ? $options : '%d %m %Y'; return str_replace(array('%m','%d','%Y','%A'), array($month, $day, $year, $weekDay), $options); Вывод MODX => [[!+nowdate:default=`now`:dateRu=`%A, %d %m %Y`]] FENOM => {$publishedon | date : 'd F Y' | dateRu} ---------------------------------------------------------------------------------------------------- Ищем наименьшую цену в товарах категории SNIPET getMinPrice newQuery('msProduct', array('parent' => $id, 'deleted' => 0, 'published' => 1)); $q->innerJoin('msProductData', 'Data', 'msProduct.id = Data.id'); $q->sortby('Data.price', 'asc'); $q->select('Data.price'); $q->limit(1); if ($q->prepare() && $q->stmt->execute()) { $price = $q->stmt->fetch(PDO::FETCH_COLUMN); } return $price; (дефолтный вывод) newQuery('msProduct', array('parent' => $id, 'deleted' => 0, 'published' => 1)); $q->innerJoin('msProductData', 'Data', 'msProduct.id = Data.id'); $q->sortby('Data.price', 'asc'); $q->select('Data.price'); $q->limit(1); if ($q->prepare() && $q->stmt->execute()) { $price = $q->stmt->fetch(PDO::FETCH_COLUMN); $price = (int)$price; } if (!empty($price)){ return 'от '.$price.' р/час'; }else{ echo 'по запросу'; } Вызов в чанке {'getMinPrice' | snippet : ['id' => $id,]} ---------------------------------------------------------------------------------------------------- Выезжающее меню слева (мобильная версия) HEADER FOOTER [[- Menu Mobile ]] SCRIPT (функция выезжающего меню) (function () { function open(target, type) { let toggle = $('[data-toggle=mobile_toggler][data-type=' + type + ']'); $(toggle).addClass('active'); $(target).toggleClass('active'); $('body').addClass(type + '-opened'); // modal-open? $('[data-toggle=mobile_toggler]').each(function () { let targetCur = $(this).data('target'), typeCur = $(this).data('type'); if (type != typeCur) { close(targetCur, typeCur); } }); if ($(target).find('.close')) { $(target).find('.close').addClass('active'); $(target) .find('.close') .on('click', function () { $(this).toggleClass('active'); close(target, type); }); } } function close(target, type) { let toggle = $('[data-toggle=mobile_toggler][data-type=' + type + ']'); $(toggle).removeClass('active'); $(target).removeClass('active'); $('body').removeClass(type + '-opened'); // modal-open? } let toggle = $('[data-toggle=mobile_toggler]'); toggle.on('click', function () { target = $(this).data('target'); type = $(this).data('type'); if ($(target).length) { if ($(target).hasClass('active')) { close(target, type); } else { open(target, type); } } }); $(window).on('resize', function () { $('[data-toggle=mobile_toggler]').each(function () { let type = $(this).data('type'), maxWidth; switch (type) { case 'search': maxWidth = 768; break; default: maxWidth = 992; break; } if ($(window).width() >= maxWidth) { close($(this).data('target'), type); } }); }); })(); (по клику на родителя открыть дочек) jQuery(document).on('click', '.parent_mobile', function () { event.preventDefault(); jQuery(this).find('.sub_menu').toggleClass('show_sub_menu'); }); CSS .menu-toggler{ display:block; width:26px; height:40px; cursor:pointer; position:relative; z-index:2; line-height:1; flex-shrink:0; } .menu-toggler:hover .menu-toggler__bar{ background-color:#ac070c; } .menu-toggler__bar:first-child{ margin-top:0; top:30%; } .menu-toggler__bar:last-child{ margin-top:0; top:auto; bottom:30%; } .menu-toggler__bar{ content:""; display:block; position:absolute; top:50%; left:0; right:0; background:#d21319; height:2px; margin-top:-1px; transition:all 0.3s ease; } .menu-opened .menu-toggler__bar:first-child{ opacity:1; top:50%; transform:rotate(135deg); } .menu-opened .menu-toggler__bar:last-child{ opacity:1; top:50%; transform:rotate(-135deg); } .menu-opened .menu-toggler__bar{ opacity:0; } .menu-mobile{ display:flex; flex-direction:column; position:fixed; top:60px; left:-150%; bottom:0; width:100%; background: #fff; z-index:99; padding-top:20px; overflow:auto; box-shadow:0 15px 15px rgb(0 0 0 / 30%); transition:all 0.5s ease; } .menu-mobile.active{ left:0; } ---------------------------------------------------------------------------------------------------- Сортировка 'sortby'=>'FIELD(modResource.id, 6,3,402,491,401,392,400,399)' - FENOM &sortby=`FIELD(modResource.id, 4,7,2,5,1 )` - OLD &select=`id,pagetitle,menutitle,uri` ---------------------------------------------------------------------------------------------------- Кнопка ВВЕРХ ---------------------------------------------------------------------------------------------------- Характеристика JOOMSHOPPIND - разделяем на LI-элементы product->extra_field)){?>
product->extra_field as $extra_field){ if ($extra_field['id'] == 8) { /* получаем объект через ID */ $extrafield_sphera = explode(',', $extra_field['value']); continue; } if ($extra_field_group!=$extra_field['groupname']){ $extra_field_group = $extra_field['groupname']; ?>
: ">
Выводим
---------------------------------------------------------------------------------------------------- Плавная прокрутка до якоря ---------------------------------------------------------------------------------------------------- Как убрать копирайт внизу SimplefForm2 в Джумла? заходим на хостинг в домен сайта и далее идет вот так: /modules/mod_simpleform2/models/form.php Открываем этот файл, лучше всего с помощью Notepad++ и через Контр+F ищем такой код: $code.= ($this->checkDomain()?'':base64_decode('..........')); ---------------------------------------------------------------------------------------------------- Передаем название кнопки в заголовок модальной формы КНОПКА (атрибут data-title) [[+slide_button]] скрытое поле в форме cbm_theme ---------------------------------------------------------------------------------------------------- Родитель и дочки - Снипет getParentId getParentIds($modx->resource->id); array_push($parents, $modx->resource->id); if(array_intersect($parents, $options)){ echo 1; } else { echo 0; } ?> [[*id:getParentId=`129,130`:eq=`1`:then=` [[$chunk1]] `:else=` [[$chunk2]] `]] ---------------------------------------------------------------------------------------------------- Команда для препорцессора для scss sass --watch SITENAME/artmebius/scss/template_styles.scss SITENAME/artmebius/css/template_styles.css ---------------------------------------------------------------------------------------------------- Картинки из папки "; // Начинаем таблицу $k = 0; // Вспомогательный счётчик для перехода на новые строки for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем if ($k % $cols == 0) echo ""; // Добавляем новую строку echo ""; // Начинаем столбец $path = $dir.$files[$i]; // Получаем путь к картинке echo ""; // Делаем ссылку на картинку echo ""; // Вывод превью картинки echo ""; // Закрываем ссылку echo ""; // Закрываем столбец /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */ if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo ""; $k++; // Увеличиваем вспомогательный счётчик } } echo ""; // Закрываем таблицу ?> ---------------------------------------------------------------------------------------------------- Режем строку PHP name, $m) ? $m[1] . '...' : $product->name;?> ---------------------------------------------------------------------------------------------------- Определяем страницу товара joomshopping и дописываес класс к BODY ... ---------------------------------------------------------------------------------------------------- Joomla - вставить молуль в модуль loadRenderer('modules'); $options = array('style' => 'xhtml'); $position = 'ПОЗИЦИЯ'; echo $renderer->render($position, $options, null); ?> Joomla - вставить молуль в компонент ---------------------------------------------------------------------------------------------------- kuhni-goldenwood.ru Выводим картинки из назначенных альбомов галереи Снипет toPlaceholders($scriptProperties,'param'); $thumbnails = $output = ""; $albums = explode(",", $scriptProperties['albums']); $limit = $scriptProperties['limit']; $tplWrapper = $scriptProperties['containerTpl'] ? $scriptProperties['containerTpl'] : 'itemGall_wrapper'; $tpl = $scriptProperties['thumbTpl'] ? $scriptProperties['thumbTpl'] : 'itemGall_row'; $q = $modx->newQuery('galItem'); $q->select('galItem.*, albItem.album'); $q->leftJoin('galAlbumItem', 'albItem', "albItem.item = galItem.id"); $q->where(array( array( '`albItem`.`album`:IN' => $albums, ) )); if($scriptProperties['random']){ $q->sortby('RAND()'); } else { $q->sortby('rank','ASC'); } $q->limit($limit); if ($q->prepare() && $q->stmt->execute()) { $result = $q->stmt->fetchAll(PDO::FETCH_ASSOC); if(count($result)){ foreach ($result as $item) { $item['image_absolute'] = $modx->call('galAlbum','getFilesUrl',array(&$modx)).$item['filename']; $thumbnails .= $modx->getChunk($tpl, $item); } if ($tplWrapper && $thumbnails) { $output = $modx->getChunk($tplWrapper, array('thumbnails' => $thumbnails)); } } } return $output; Вывод на страницу [[getGalleryItems? &albums=`[[*main_albums_items]]` - id через запятую &limit=`0` &random=`1` &containerTpl=`itemGall_wrapper` &thumbTpl=`itemGall_row_new` ¶m_showtitle=`1` ¶m_image=`&w=450&h=300&zc=1&far=1&bg=ffffff` &classClr=`clr-sxs-1 clr-xs-2 clr-sm-2 clr-md-3 clr-lg-3` &classCol=`col-xs-4 col-sm-3 col-md-2 col-lg-1` ]] ?> ---------------------------------------------------------------------------------------------------- Костыль для пагинации от Жени Суродина (MODX) \core\components\pdotools\model\pdotools\pdopage.class.php в function makePageLink перед $data вставить if($page == 1){ $href = $url; } ---------------------------------------------------------------------------------------------------- Все-кроватки.рф Старая цена в списке товаров категории из торгового предложения (только первое значение) Снипет getTpOldPrice default; if(!empty($options->migx_torg)){ if(count($options->migx_torg) && !empty($options->migx_torg[0]->old_price)){ $result = $options->migx_torg[0]->old_price; } } return $result; Вывод [[+phx:getTpOldPrice=`{"default":"[[+tv.old_price]]","migx_torg":[[+tv.migx_torg]]}`:notempty=` Старая цена: [[*id:getTpOldPrice=`{"default":"[[+tv.old_price]]","migx_torg":[[+tv.migx_torg]]}`]] руб. `]] ?> ---------------------------------------------------------------------------------------------------- Меню типа bootstrap для MODX Сайт щколы №37 ---------------------------------------------------------------------------------------------------- Снипет ten_percent (вычетаем из цены процент) Вывод [[*price:ten_percent=`[[*price]]`]] (карточка товара) [[+tv.price:ten_percent]] (список товаров) ---------------------------------------------------------------------------------------------------- 1.1. Каноническая ссылка для материалов Открываем шаблон статьи. Он обычно находится в файле /templates/ваш шаблон/html/com_content/article/default.php. После строки JHtml::addIncludePath(JPATH_COMPONENT.'/helpers'); добавляем следующие строки: $doc=JFactory::getDocument(); $doc->addHeadLink( rtrim(JUri::base(),'/'). JRoute::_(ContentHelperRoute::getArticleRoute($this->item->id,$this->item->catid)), 'canonical','rel',''); 1.2. Каноническая ссылка для блога Открываем шаблон блога. Он обычно находится в файле /templates/<ваш шаблон>/html/com_content/category/blog.php. После строки JHtml::addIncludePath(JPATH_COMPONENT.'/helpers'); добавляем следующие строки: $doc=JFactory::getDocument(); $docstart = JRequest::getInt('start',0); if($docstart > 0) { $doc->addHeadLink( rtrim(JUri::base(),'/'). JRoute::_(ContentHelperRoute::getCategoryRoute($this->category->id)), 'canonical','rel',''); } 1.3. Каноническая ссылка для joomshopping Открываем шаблон сатегории. Он обычно находится в файле components/jshopping/templates/<ШАБЛОН>/category/category_default.php. После строки defined('_JEXEC') or die('Restricted access'); добавляем следующие строки: $pos = strpos($this->action, 'start'); if ($pos){ $doc->addHeadLink($doc->base, 'canonical'); } ---------------------------------------------------------------------------------------------------- /* пульсирущия кнопка */ -------------------------------------------------------------------------------------------------------- /* инвертация изображения */