Прототип релиза

  • 102 Ответов
  • 18303 Просмотров

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #15 : 11 Мая 2016, 17:23:17 »
Цитировать
d:\OpenServer\domains\dn151.ru\www\mod\media\index.php
передается строка вместо массива:
$global['insert']['breadcrumb'] = '<a href="'.$ro->seo('index.php?dn='.WORKMOD).'">'.$global['modname'].'</a>';
Это не ошибка. Если в крошках только один элемент, нет смысла заворачивать его в массив.
Если это не массив, то не нужно лишний раз запускать foreach(), просто выводится как есть.

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

Смысл в чем.
В заголовке верхнего уровня использовать краткое название, не более трех слов.
В подзаголовке, все тоже самое, но более подробно, 5-6 слов.
Как пользователь ищет информацию на странице?
Он спешит, ему некогда. Он цепляется максимум за одно-два слова.
Если заголовок его зацепил, он задерживается и смотрит ниже.
А ниже подзаголовок с более подробным описанием. Если это то что нужно, он уже остается на странице и читает контент.
Для поисковой системы тоже польза, большая свобода выбора слов для фразы в сниппете на странице выдачи.
ПС может выбрать либо текст из H1 либо из H2, и только если там нет точных вхождений ищет слова на странице.
К тому же, данная схема позволяет охватить, выделить как ВЧ-запросы (в H1), так и СЧ-НЧ (в H2).
Убиваем двух зайцев - улучшаем юзабилити для пользователя, и усиливаем оптимизацию страницы по широкому кругу запросов.

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

По глюку с ЧПУ, это видимо глюк OpenServer.
На реальных серверах ни разу не сталкивался с подобным, даже на Денвере все ОК.
DANNEO ™

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #16 : 11 Мая 2016, 17:45:08 »
Это не ошибка. Если в крошках только один элемент, нет смысла заворачивать его в массив.
Если это не массив, то не нужно лишний раз запускать foreach(), просто выводится как есть.
Это грубая ошибка.  Если ты создаешь объект изначально массивом, то он должен наполняться как массив, и в конце обрабатываться как массив. Должна быть типизация. Пхп является говноязыком именно из-за отсутствия этой типизации - незачем поддерживать это, даже в таких мелочах.
Если изначально подразумевается, что это массив, значит ты должен иметь возможность в любом месте системы (при создании массива крошек, в середине любого модуля, в конце перед его выводом) - добавить еще по десятку элементов в этом массив, а при самом выводе (или предварительной обработке) - пройтись по этому массиву, произвести необходимые операции над каждым элементом, и вывести как надо.
Если мы внезапно это окажется строкой, и а мы не знаем, и пройдемся по ней форычем - мы проведем операции над каждым символом.
Короче это грубая ошибка. Если подразумевается, что это будет массив, то оно в любом случае, на любом моменте выполнения кода системы - должно быть массивом.

По поводу H1 не согласен, название раздела или страницы, это и есть заголовок верхнего уровня.
Зря не согласен. Поясняю.
Наши оптимизаторы зачастую впихивают в h1 фразы из нескольких слов.  Если у тебя цепочка из нескольких элементов, то в итоге ХК могут быть в 2-3 строки, что иногда дизайном не подразумевается.  Про меню и названия категорий - тоже самое.
Название должно быть названием, а h1 - заголовком. H1 - по сути сеошный тег, он должен быть отделен от названия. Должна быть возможность менять заголовок без вреда верстке (и не говори тут про изначально правильное проектирование верстки.. мы с таким говном работаем, что нужно вообще минимум изменений на сайтах делать).

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

Как пользователь ищет информацию на странице?

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

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

По глюку с ЧПУ, это видимо глюк OpenServer.
дык чпу раньше на js формировалось.  неужели ты сделал формирование на пхп?  в любом случае нужно будет от этого избавиться, поищу потом
Пингвины ходят голышом

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #17 : 11 Мая 2016, 19:31:53 »
Ну, Остапа понесло )

По поводу оптимизации, конечно можно спорить бесконечно. Сто оптимизаторов, сто мнений.
Только, если оптимизатор запихивает в H1 или H2 по нескольку предложений, то это не оптимизатор, это спамер.
ИМХО.

По формированию ЧПУ, в новой версии изначально, еще в первых рабочих сборках было введена транслитерация на PHP.
Ты наверное забыл, мы делаем мультиязычную CMS, поэтому и UTF-8, поэтому и генерация ЧПУ мультиязычная.
Попробуй ввести название новости на китайском 当天的新闻, и нажми транслитерацию, ты получишь корректное ЧПУ.
То есть, с любого языка поддерживаемого UTF-8.

В старой версии, в массиве на JavaScript было только два языка, русский и английский.
В старой версии, поле cpu было не обязательным для заполнения, и если cpu не приходило, то формировалось ВПУ.
Теперь ВПУ нет, как не нужного анахронизма, а поле cpu заполняется всегда, и случая когда оно не может быть заполнено быть не может.
Даже если поле не заполнено, скрипт перед записью в базу автоматически определит текущий язык, и сгенерирует ЧПУ.
DANNEO ™

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #18 : 12 Мая 2016, 09:41:42 »
Наших оптимизаторов за адекватных я не считаю, если что. Они те еще косячники. Но выхлоп от них тоже есть, значит что-то они делают правильно.
По h2 они вообще не заморачиваются. А вот в h1 могут вкорячить и три слова.  В итоге если у тебя элемент находится в структуре трех категорий, и и у каждой из них название состоит из 2-3 длинных слов, то крошки получаются длинными.
Элементы в меню иногда требуется обзывать тоже только одним словом, а не h1 со страницы.

Пример к этому всему:
Есть разделы "Двери -> Стеклянные -> Двустворчатые", в них какая-то дверь.
Для продвижения страницы "Двустворчатые" естественно h1 мы впишем или "двустворчатые двери", или что еще более вероятно "стеклянные двустворчатые двери".
а теперь представь, как будет выглядеть автогенерируемое меню, с таким изобилием длинных пунктов?
И каким будут хлебные крошки будут типа:
"Двери -> Стеклянные двери -> Стеклянные двустворчатые двери -> Дверь Самсунг пуленепробиваемая BLM12345".
Разве не лучше будет выглядеть:
"Двери -> Стеклянные-> Двустворчатые -> Самсунг BLM12345" ?
Я прекрасно понимаю, что ты не любишь смотреть на конкурентов.  Но это не фишка доброй части систем, я считаю отделение названия от h1 - это уже мастхэв.

Про чпу понял. Когда давно ковырял систему, не обратил внимания на способ их формирования. Ну это круто, че)
« Последнее редактирование: 12 Мая 2016, 09:44:58 от Staf4 »
Пингвины ходят голышом

Sir_G

  • Сообщений: 57
    • Просмотр профиля
Re: Прототип релиза
« Ответ #19 : 12 Мая 2016, 10:56:06 »
во баталии ))) предлагаю уже на чем-нибудь остановится. руки почесываются прикрутить какой-нибудь шаблончик, для поставки в комплекте. тоже принять участие, так сказать ))

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #20 : 12 Мая 2016, 11:29:54 »
1.
Не пойму, про какое "автогенерируемое" меню ты говоришь, у нас нет такого меню.
Есть меню неограниченной вложенности, не более, которое наполняется вручную.
Что тебе мешает в меню вписывать короткие, ёмкие названия?

2.
Какое отношение к крошкам имеют H1 и тем более H2?
H1 - выводится отдельно от крошек, выше.
В крошки не попадает название конечной станицы, ни в статьях ни в новостях, и также в каталоге который еще не добавлен.
Полное, длинное название страницы добавляется в H2
А названия категорий, которые входят в крошки, не нужно делать длинные.
Километровые названия категорий, это вообще нонсенс.
Два, максимум три слова.

И еще, не понял, что ты конкретно предлагаешь.

п/с:
Я вообще сейчас датами занят, заново переписываю то, что выкладывал.
Для атрибута datetime тега time, нужно сделать несколько вариантов, чтоб на все случаи.
И форматирование публичных дат надо наверное сделать более нативными, а не как было.
{date:1:1}
Для программистов, которые работали с датами в коде, этот формат знаком. Это означает дата формата установленного в системных настройках, плюс время.
Но, для верстальщика это ни на что даже не намекает.
Может так: {date:site:time}
В общем, думал вы мне поможете определиться с форматом шаблонов дат.
Потому, что когда я сделаю как мне нравится, и это войдет в релиз, сто пудов будут стоны, что все не так.

п/с:п/с:
По оптимизации, у нас есть целый отдельный форум, для этого создавал его.
DANNEO ™

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #21 : 12 Мая 2016, 11:34:54 »
Цитировать
предлагаю уже на чем-нибудь остановится. руки почесываются прикрутить какой-нибудь шаблончик, для поставки в комплекте
Sir_G, у меня руки чешутся вообще все выкинуть, и заняться своими делами ))
Для того, чтобы начать прикручивать шаблоны, нужно закончить вывод дат.
Как только определимся, все, можно будет уже делать шаблоны.
DANNEO ™

Sir_G

  • Сообщений: 57
    • Просмотр профиля
Re: Прототип релиза
« Ответ #22 : 12 Мая 2016, 14:11:23 »
Для того, чтобы начать прикручивать шаблоны, нужно закончить вывод дат.
Как только определимся, все, можно будет уже делать шаблоны.
я за то, чтобы было понятно и новичкам, мало чего понимающим в программировании ))
вообще, со стороный почитал этот "{date:site:time}" и вник только после нескольких перепрочтений. какие еще есть варианты этого вывода?думаю, если описать все варианты - то визуально будет лучше восприниматся что это такое.а уж тем более запоминатся )

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #23 : 12 Мая 2016, 14:58:21 »
1.
Не пойму, про какое "автогенерируемое" меню ты говоришь, у нас нет такого меню.

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

2.
Какое отношение к крошкам имеют H1 и тем более H2?
я ж описал все.  В настоящий момент крошки формируются из Названия (оно же - h1) родительских категорий.
H2 - никакого отношения не имеет, про H2 отдельный блок текста был.

А названия категорий, которые входят в крошки, не нужно делать длинные.
Километровые названия категорий, это вообще нонсенс.
Два, максимум три слова.
Почему? Если сеошник считает, что нужно сделать h1 из трех длинных слов, то все? Тогда даннео не подходит для сеошников, у которых способ продвижения отличается от твоего?
А если три родительские категории, у которых названия из трех слов?
Зачем изначально ограничивать людей? Дай свободу действий. Хочешь сео-заточенную систему - сделай ее универсальной для всех, а не только для своего сео-мировоззрения.

И еще, не понял, что ты конкретно предлагаешь.
Я предлагаю: существующее поле "Название/H1" разделить на два поля, на "Название" (будет отображаться в крошках, в новом блоке авто-генерации меню, в списке подкатегорий у категории), и на H1 - который тупо будет H1.



В общем, думал вы мне поможете определиться с форматом шаблонов дат.
Потому, что когда я сделаю как мне нравится, и это войдет в релиз, сто пудов будут стоны, что все не так.
как тебе такой вариант: "{date:%формат%}", где %формат% - соответствует php-шным стандартам, прям в таком виде и будет вставлен в функцию вывода даты. Для безопасности конечно вырезать все спецсимволы.
Т.е. если человек напишет "{date:Y-m-d H:i:s}", то будет выводиться соответственно "2016-05-12 14:57:58".
Ну и добавить еще пару своих переменных, для вывода из настроек админки (если они вообще понадобятся в таком случае). 
И пару интернациональных, допустим для вывода только даты.  При русском языке будет выводиться 12.05.2016, а при английском 05/12/2016. Тоже самое для времени

По оптимизации, у нас есть целый отдельный форум, для этого создавал его.
мы сео-возможности новой версии системы тут обсуждаем, и ее универсальность в этом плане.  на само сео, как таковое, мне наплевать.
« Последнее редактирование: 12 Мая 2016, 15:02:08 от Staf4 »
Пингвины ходят голышом

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #24 : 12 Мая 2016, 16:13:58 »
Цитировать
Я предлагаю: существующее поле "Название/H1" разделить на два поля, на "Название" (будет отображаться в крошках, в новом блоке авто-генерации меню, в списке подкатегорий у категории), и на H1 - который тупо будет H1.
Ну так используй для этого уже существующие поля.
H1 - для краткого, для генерации меню.
H2 - для полного.
В базе они называются - title и subtitle
Используй их как тебе хочется, хоть в H6 вставляй.
Не нужно зацикливаться на тегах которые используются в дефолтном шаблоне.
Бери - title и subtitle, и обрабатывай их как тебе нравится.

Значит и в таблицах категорий к имеющемуся названию catname нужно добавить subcatname.
Так значит я правильно сделал, что добавил дополнительное поле?
DANNEO ™

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #25 : 12 Мая 2016, 22:16:53 »
Правильно, но не то поле добавил))
Ну да, при необходимости придется использовать H2 не по его изначальному назначении. Но лучше конечно это сразу в систему впилить.
Да, для категорий выходит тоже нужно добавить это (если говорить об использовании функционала H2 в своих целях)
Пингвины ходят голышом

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #26 : 12 Мая 2016, 22:42:42 »
Добавим для категорий, а там разберемся где это выводить в шаблоне.

Закончил даты, форматы двух типов,
либо как в системе было {date:1:1} или {date:F} и т.д.
либо свободный типа {date:%Y-m-d H:i:s%}
Даты будут искаться по двум ключам:
date и redate
То есть, если в шаблон выводится две даты, то
первая {date:1:1}
вторая {redate:1:1}
Я не нашел шаблоны где могут выводиться более двух дат.
А лепить промежуточный ключ типа {format_date:date:1:1} и по нему уже искать метки дат вторым ключем, слишком длинно будет.
И регэкспы усложнятся, да и в шаблоне место лишнее занимать будет.

На днях займусь установщиком, и запустим альфу, хотя бы без остальных модов.
Теперь моды у нас независимые, устанавливаются одним кликом, их можно добавлять по ходу тестирования. По мере готовности.
DANNEO ™

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #27 : 13 Мая 2016, 09:07:02 »
Просьба сделать поменьше шагов у установщика, не растягивать на максимум, как у прошлых версий.
Пингвины ходят голышом

Staf4

  • Сообщений: 240
    • Просмотр профиля
    • viastyle.org
Re: Прототип релиза
« Ответ #28 : 13 Мая 2016, 09:37:09 »
И еще, пока помню. Когда будем работу с бд переделывать?  Объединять два файла с классами для работы с бд, добавлять возможность подключения других типов бд?
Сделай хотя бы один класс бд вместо двух, я предложу вариант реализации под работу с разными типами бд (есть наработки), и сделаю класс для работы с sqlite через pdo (тоже есть). м?
Пингвины ходят голышом

Neon

  • Сообщений: 670
    • Просмотр профиля
    • Danneo CMS
Re: Прототип релиза
« Ответ #29 : 13 Мая 2016, 10:29:45 »
По установщику, да надо подумать, если не в один клик, то сократить.
Возможность подключения FTP на этапе установки добавить, если не в альфу то в релиз точно.
Это позволит делать "тихую" установку, с выставлением прав на папки и файлы скриптом.

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

Если переходить на PDO, то надо тестировать, сравнивать, ну и запросы скорее всего придется все переписывать.
А где serega_pyter, почему он не появляется?
Хотелось бы услышать и его мнение. У него вроде опыт работы с базами имеется.
DANNEO ™