Oleg

Oleg

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

Синтаксис Fenom
Oleg
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>
Хотя можно еще подшаманить и оставить просто вызов сниппета без обертки.
Oleg
01 июня 2018, 08:20
0
хе)
Мне нравится такой расклад)
Свой Odor-Cash…
Нужно эту тему обмозговать)
Oleg
28 мая 2018, 13:54
0
Спасибо.
Я знаю что можно.
А как?)
Вот как бы вы пошли к этому решению?
Например я добавил ссылку на статью.
На ваш манер она адекватная?
Для старта и понимания процесса ее достаточно?

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

Ведь придется заводить еще как минимум два уровня.
СуперЮзер (тобишь я разраб), Администратор (владелец), Пользователь (Клиент).
А еще должен стоять парсер который оценивает количество продаваемой игровой валюты.
К слову сайт по продажам игровой валюты в ммо.
Oleg
22 мая 2018, 15:39
0
Если в кратце, то почитайте документацию. А менно ту ее чать, что описывает tpl, tplOther и tplParentRow
у них у всех свое предназначение
Oleg
22 мая 2018, 15:38
0
parentRow, если разуеть заморскую мову, видно что она для родителей меню, если есть вложенность.
otherTpl это для враппера
tpl для всех остальных ссылок
Oleg
22 мая 2018, 15:36
0
В последнем опечатка взаголовке
Oleg
22 мая 2018, 15:26
0
Лично я на fenom пишу через makeUrl($id)
Попробуйте оформить нечто вроде [[~[[+id]]]]
[[~[[+id]] ]] или [[+uri]]
Oleg
22 мая 2018, 15:25
0
Попробуйте через pdoResources вывести тогда.
Oleg
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>
Oleg
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>',
Это феном, если что.
Oleg
22 мая 2018, 15:08
0
Параметр tpl оформить не пробовали?
Oleg
16 мая 2018, 13:07
+1
Игнорирование кода
Так как в Fenom используются фигурные скобки, то возможно возникнет такая проблема, что не будут выполняться какие-то скрипты/стили.
Для этих случаев существует переменная ignore. Для того, чтобы выключить обработку Fenom необходимо просто обернуть скрипты/стили в этот тег:

<style>
{ignore}

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

{/ignore}
</style>
Oleg
16 мая 2018, 13:04
0
Благодарствую.
Oleg
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}
Oleg
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»
Подключил доп поле, которое не к какому шаблону не присовил.
Oleg
16 мая 2018, 11:10
0
Может быть с опытом будет и у меня так же)
Это мой первый сайт на модиксе собранный мною с нуля и сразу на fenom и мультиязычный)
Oleg
16 мая 2018, 10:55
0
Ну я сейчас именно так же пилю, с точно таким же подходом к полям.