Oleg

Oleg

С нами с 16 мая 2018; Место в рейтинге пользователей: #364
01 июня 2018, 13:31
0
Миниатюры изображений сжимайте с помощью phpThumbOn
{$file.image|phpthumbon:'w=500&h=500&zc=0&f=jpg'}
$file.image — путь до файла

Синтаксис Fenom
01 июня 2018, 13:20
0
У меня это все выглядит таким образом:
<?php
$output = "";
$resources = $modx->runSnippet('pdoResources', [
	'parents' => 0,
	'limit' => 0,
	'resources'=>'-9, -10',
	'sortby'=>'{"id":"ASC"}',
	'leftJoin' => '{
    		"localizator" : {
    			"class" : "localizatorContent",
    			"alias" : "localizator",
    			"on" : "localizator.resource_id = modResource.id"
    		}
    	}',
	'select' => '{ "localizator" : "modResource.*, localizator.*, modResource.id" }',
	'where' => [
		'localizator.key' => $modx->localizator_key,
		'localizator.active' => 1,
	],
	'return' => 'json',
]);

if($resources) {
	$resources = json_decode($resources);
	foreach($resources as $resource) {
	    $lang = $modx->localizator_key;
	    $out_uri = $resource->uri;
	    if($lang != 'ru'){
		    $url = $modx->config['site_url'] .$lang.'/'. $$out_uri;
	        }else{
	        $url = $modx->config['site_url'] . $out_uri;    
	        }
		$changefreq = 'weekly';
		$priority = '0.5';

		// дата изменения
		$lastmod = date('Y-m-d', $resource->editedon ?: $resource->createdon);

		/* if($row['last_review_date']){
		$date = new DateTime($row['last_review_date']);
		$lastmod = $date->format('Y-m-d');
		} */


		// пометка ежечастного обноавления, id категорий
		if(in_array($resource->parent, [35, 36, 4])) $changefreq = 'hourly';

		// приоретитет
		if(in_array($resource->id, [1, 2, 3])) $priority = '1.0';
        $url_our = str_replace('index', '', $url);
		$output .= "
		<url>
		    <loc>{$url_our}</loc>
		    <lastmod>{$lastmod}</lastmod>
		    <changefreq>{$changefreq}</changefreq>
		    <priority>{$priority}</priority>
		</url>
		";
	}

}

return $output;
Мой вызов:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{'!getSiteMap' | snippet}
</urlset>
Хотя можно еще подшаманить и оставить просто вызов сниппета без обертки.
01 июня 2018, 08:20
0
хе)
Мне нравится такой расклад)
Свой Odor-Cash…
Нужно эту тему обмозговать)
28 мая 2018, 13:54
0
Спасибо.
Я знаю что можно.
А как?)
Вот как бы вы пошли к этому решению?
Например я добавил ссылку на статью.
На ваш манер она адекватная?
Для старта и понимания процесса ее достаточно?

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

Ведь придется заводить еще как минимум два уровня.
СуперЮзер (тобишь я разраб), Администратор (владелец), Пользователь (Клиент).
А еще должен стоять парсер который оценивает количество продаваемой игровой валюты.
К слову сайт по продажам игровой валюты в ммо.
22 мая 2018, 15:39
0
Если в кратце, то почитайте документацию. А менно ту ее чать, что описывает tpl, tplOther и tplParentRow
у них у всех свое предназначение
22 мая 2018, 15:38
0
parentRow, если разуеть заморскую мову, видно что она для родителей меню, если есть вложенность.
otherTpl это для враппера
tpl для всех остальных ссылок
22 мая 2018, 15:36
0
В последнем опечатка взаголовке
22 мая 2018, 15:26
0
Лично я на fenom пишу через makeUrl($id)
Попробуйте оформить нечто вроде [[~[[+id]]]]
[[~[[+id]] ]] или [[+uri]]
22 мая 2018, 15:25
0
Попробуйте через pdoResources вывести тогда.
22 мая 2018, 15:16
0
И да, это как пример, у меня там с заходом через задние ворота сделано.

А вообще — документацию читать нужно. --> Документация
Пример оформления:
[[pdoMenu?
    &parents=`0`
    &level=`2`
    &tplInner=`@INLINE [[+wrapper]]`
    &tplParentRow=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a> ([[+children]])</li>[[+wrapper]]`
    &countChildren=`1`
]]

&tpl Имя чанка для оформления ресурса. Если не указан, то содержимое полей ресурса будет распечатано на экран. По умолчанию:
@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>
22 мая 2018, 15:09
0
'tplOuter'=>'@INLINE <ul>{$wrapper}</ul>',
'tpl'=>'@INLINE <li><a href="{$id}">{$menutitle}</a>{$wrapper}</li> ',
'tplParentRow'=>'@INLINE <li class="main_menu__parent"><a href="/{$id}">{$menutitle}</a>{$wrapper}</li>',
Это феном, если что.
22 мая 2018, 15:08
0
Параметр tpl оформить не пробовали?
16 мая 2018, 13:07
+1
Игнорирование кода
Так как в Fenom используются фигурные скобки, то возможно возникнет такая проблема, что не будут выполняться какие-то скрипты/стили.
Для этих случаев существует переменная ignore. Для того, чтобы выключить обработку Fenom необходимо просто обернуть скрипты/стили в этот тег:

<style>
{ignore}

body {font-size: 16px; background-color: #000;}

{/ignore}
</style>
16 мая 2018, 13:04
0
Благодарствую.
16 мая 2018, 12:34
1
0
Вывод в моем случае такой:
{var $key = $modx->localizator_key}
{set $rows = json_decode(20|resource:'loc_sidebar', true)}
{foreach $rows as $row}
            {if $key == $row.lang}
                {set $vals = json_decode($row.text, true)}
                {foreach $vals as $val}
                    <a href="{$_modx->makeUrl($val.id)}"><img src="{$val.image}" alt=""><span>{$val.text}</span></a>
                {/foreach}
            {/if}
{/foreach}
16 мая 2018, 12:31
0
Мой вариант вывода перевода в мигсах

Админка:


Вкладка формы(поля контейнера для значений):
[
  {
    "caption": "Заголовок",
    "fields": [
      {
        "field": "lang",
        "caption": "Локализация",
        "inputTVtype": "listbox",
        "inputOptionValues": "Русский==ru||English==en||O'zbek==uz"
      },
      {
        "field": "text",
        "caption": "Заголовок",
        "inputTV": "block_menu"
      }
    ]
  }
]

Разметка колонок(поле тоже):
[{
  "header": "Локализация",
  "width":"50",
  "dataIndex": "lang"
}]

«inputTV»: «block_menu»
Подключил доп поле, которое не к какому шаблону не присовил.
16 мая 2018, 11:10
0
Может быть с опытом будет и у меня так же)
Это мой первый сайт на модиксе собранный мною с нуля и сразу на fenom и мультиязычный)
16 мая 2018, 10:55
0
Ну я сейчас именно так же пилю, с точно таким же подходом к полям.