timo-71

Рейтинг
63
Регистрация
19.09.2018
Anamnado:
или может я что то не понял

Имелось в виду, что от количества товара в категории не зависит. Однако, возможность вставки текста под Н1 или других зонах документа, поможет поэкспериментировать над сниппетом в выдаче.

Иными словами - гибкое управление контентом. Не только лишь статья/листинг/карточка, но и другие текстовые/медийные блоки. В асиде над/под меню, до виджета товара, под ним, перед "с этим покупают", после и т.д.

bruder:
От CMS это не зависит

Вышесказанное, касается и этого

OffTop:

Sly32:
и так далее

Еще и комбинации перечисленного могут быть, для своей внутренней, в итоге пришлось к php, sqlite, mongo еще и python добавить для сначала для склонения:

$titletpl = "Продажа %item% в %city%";

"Продажа слоны в Москва" проигрывает "Продажа слонов в Москве"

A потом и генсим c lsi.

Anamnado:

timo-71:
где им лучше разместить утп в карточке/категории

от типа товара зависит и количества асортимента

выше отписавшийся однако прав

Как от количества и ассортимента сниппет то конкретного документа зависит?

Задача

Уникальное торговое предложение (УТП)
сделать сниппетом.

---------- Добавлено 06.11.2019 в 23:22 ----------

проблема - убрать если потребовалось или заменить на другое.

В том, что вы процитировали, было слово актуально. Что значит, просто хтмл блок не катит, а нужно, что то похожее на

{{ listing('слон бел*', 'tpl/galery.twig', 10) }}
в вашей статье, которое даст всех белых слонов из партнерки

---------- Добавлено 06.11.2019 в 23:54 ----------

SeVlad:

Во первых сеошников свои разделы
Во вторых " утп в карточке/категории" это про ИМ, а ИМ лишь малая часть понятия "бизнес".
В третьих даже ИМы бывают очень разные. Прежде всего по офлайн задачам, и возможностям.

Трафик с ПС, при прочих равных, не будет лишним. Само собой:

сайт должен уметь и другие задачи
SeVlad:
Прям вот для всех - для всех? Нереально.
Точка.

Сказал гуру Веб-строительства. Может, подождем сеошников, чтобы нам сказали, где им лучше разместить утп в карточке/категории, чтобы он в сниппет с большей вероятностью вошел.

Не только лишь всех. Коммерческих. Магазин там какой/витрина/каталог. В идеале, если родятся базовые пункты ТЗ, чтобы было удобно для сео, то тема не напрасно.

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

ArbNet:
пока правда мало серверов где есть Node

да ладно

yum install nodejs
ArbNet:

Покажите пример такого документа.

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

ArbNet:
Фишку моей идеи SNDL так и не раскусили.

Раскусили, только смысла не увидели:D

ArbNet:
зачем я использую xml и для чего?

Кто же вас знает. Может из-за

Я его выбрал из-за простоты, наглядности и удобстве оформления структуры..

а может из-за

$pp = new XSLTProcessor();
$pp->importStylesheet($xsl);

Вы поймите, скепсис, который тут нарисовался, вызван безапелляционными утверждениями -

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

И еще, если это для сайтов типа "мой новый блог на Вордпрессе SND" это одно. Если более сложный проект, это другое. Там одних шаблонов для вывода легко с десяток может быть - шаблон документа, листинга товаров, карточки товара, тайтл, дескрипшн, опенграф:тайтл+, товарный обвес, поисковая подсказка, формы заказа, формы майлов и т.д. Так что хмл не лучший вариант.

-----добавлю

Более того, сам контент из базы тоже может быть шаблоном

ArbNet:
это хорошо для программистов, а я делаю для обычных людей которые далеки от этого

Каждый отдельный элемент, который можно доверить пользователю редактируется в админке. Более, того он же может добавить новый элемент туда и изменив шаблон увидеть это. Это легко реализуется с помощью любого фреймворка

[new_fignay] => <h3>Эту фигню добавим в футер</h3>

#twig
<footer>
<div class="container">
<div class="xrow">
<div class="col xs-tc">
<p class="xs-fs16">{{ sitename }}</p>
<br>{{ email }}
<br>{{ phone }}
<br>{{ fax }}
</div>
<div class="col x2 xs-tc">
<div>{{ footermenu }}</div>
</div>
<div class="col">
{{ socialbuttons }}
{{ counters }}
{{ new_fignay }}
</div>
</div>
</div>
</footer>
ArbNet:
Есть любители пользоваться чем-то чужим, вы один из них. CodeIgniter - это опять таки банальный MVCшник со своими выкрутасами, хочешь ещё винегрета прикрути стороннее.

Опять таки я для чего тему создал? Никто и не вкурил. Даже хоть чуточку задумались бы зачем использовать практически устаревший xml, какой в этом толк, ни у кого подобных вопросов не промелькнуло, эх а ещё программисты. Вы простые пользователи готовых фреймворков и кто что поюзал то и другим впариваете.

Структура страницы в одном файле xml, из этого файла движок узнаёт какие узлы, стили, шаблоны, скрипты и др. надо, и всё появляется, ВОТ ТАКАЯ МАГИЯ. Мне ЭТО НАДО, а этого ни в каком из существующих фремворков нет.

Не до конца, ясно на чем основывается такое утверждение. Вот тут например, примерно тоже самое что и у вас.

Элемент из объекста


#в виде массива, в предыдущем сообщении jslib, был вырезан
[usrlink] => <a href="/usr/">Кабинет пользователя</a>
[css_list] => /assets/themes/default/css/custom.min.css,/assets/css/usr.min.css,/assets/vendor/tiny-edit/src/tinyeditor.min.css
[jslib] => Array
(
[0] => /assets/vendor/peppermint/peppermint.min.js
[1] => /assets/js/elm.min.js
[2] => /assets/vendor/codemirror/dist/codemirror.js
[3] => /assets/vendor/tiny-edit/src/tinyeditor.min.js
[4] => /assets/js/adm.min.js
[5] => /assets/vendor/autocomplete/autocomplete.min.js
)
[CSRF] => 3be8e88683e5e11a265db6cc198d7804
[STKN] => Dc3FmziB

Вставка в шаблоне


<script data-sid="{{ STKN }}">const cssList='{{ css_list }}';/*sys_js*/(function(){aapp.STKN="{{ STKN }}";})();</script>
<script defer src="/assets/js/before.min.js"></script>
{% for lib in jslib %}
{% if lib %}
<script defer src="{{ lib }}"></script>
{% endif %}
{% endfor %}

Хотя, у меня собственные решения, не вижу причин, почему к этому нельзя прийти в контроллере-моделе любого из популярных фреймворков и отобразить в вьюхе.

private function twig_out()

{
logger( 'Start render page by TWIG' );
$template = is_array($this->tpl) ? _arr($this->tpl, 'template') : null;
if(!$template)
throw new \Exception('Wrong template', 3010);
if( !Core::outcheck() )
throw new \Exception('Wrong out array', 3011);
$icons = require _ETC . 'view/icons.php';
Core::outset('icons', $icons);
print_r( Core::outget() ); exit;

$area = _arr($this->tpl, 'area');
$this->twig = new \Twig_Environment(
new \Twig_Loader_Filesystem( $area ),
[ 'charset'=>'utf-8',
'cache' => _VAR . 'cache/twig_cache/',
'auto_reload' => true
]
);
logger( 'TWIG loaded' );
$this->twig->addExtension( new TwigExtension );
logger( 'TwigExtension loaded' );
$this->html = $this->twig->render( $template, Core::outget() );
logger( 'HTML ready' );
}#пяток строк не для чужих глаз вырезаны

При этом, между Start render page by TWIG и HTML ready не более 10мс для довольно увесистого Core::outget() (под 100 элементов, в т.ч хтмл контент)

ArbNet:
в Smarty на PHP ищутся метки с командами, потом интерпретируются и тд. я же сделал попроще применил для парсинга встроенную возможность в самом php нахождение нужных элементов делается намного проще, это раз

Вот тут, если я правильно понял, в точку.

Скорость

Class Aapp\Response\RenderHtml ready	15.34 ms	0.56 ms	1.19/2.00, mb
Start render page by TWIG 15.36 ms 0.02 ms 1.19/2.00, mb
TWIG loaded 21.81 ms 6.45 ms 1.76/4.00, mb
TwigExtension loaded 21.93 ms 0.12 ms 1.77/4.00, mb
HTML ready 23.74 ms 1.81 ms 1.89/4.00, mb
Js/Css included 24.24 ms 0.50 ms 1.93/4.00, mb
Debug data 24.25 ms 0.01 ms 1.93/4.00, mb
End 24.26 ms 0.01 ms 1.94/4.00, mb

Профайлер сказал, что твиг 6,45+1,81 из суммарных 25, что много но оправдано. А простой стр_реплейс

Js/Css included	24.24 ms	0.50 ms	1.93/4.00, mb

за 0.5мс вставил


$css = file_get_contents( _WEBDIR . '/assets/css/start.min.css');
if($css) $this->html = str_replace('/*css*/', $css, $this->html ); $css = null;
$js = file_get_contents( _WEBDIR . '/assets/js/js.scripts.min.js');
$js = Core::tkn($js);
if($js) $this->html = str_replace('/*sys_js*/', $js, $this->html ); $js = null;
//$this->html = preg_replace('/\s{2,}/', ' ', $this->html);
logger( 'Js/Css included' );

Как то так.

А в целом, тема идеальной кмс недостижима, но приличную построить можно. Но, придется учитывать море факторов.

ArbNet:

Так автолоадер, используется. Дело не в нём и не в белеберде которую вы в
 вставили. Дело в облегчении и структуировании создания страниц для сайта.

А в чем облегчение?

Вы говорите

ArbNet:
Основной принцип это разделение данных от разметки
, что само по себе странно, если разметка с данными - это чистый хтмл, если нет -

Может кода от разметки? Но тут же

if($sg)$lm='<li><a class=active>'.$val['des'].'</a></li>';

else $lm='<li><a href='.$val['lnk'].'>'.$val['des'].'</a></li>';

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

Ну типа для карточки товара

'item_title': 'Купить %item_name% в %city[datv]% - запчасти на '

'%group_name% в %shop_name%',

сгенерить тайтл "Купить поршень в Москве - запчасти на двигатель в ООО Рога и копыта "

а

'STKN': 'iDYPOUvy'

один из токенов без чего, никакой пост запрос не будет принят с этого документа.

а

'ya_goal': {'btn_message': 'soobshen',

говорит о том, что на кнопку #btn_message надо навесить цель яндекс метрики soobshen

Вырвал из контекста, но "смотрите ширше" (с) на построение кмс и успех придет

Всего: 541