ErsteVorherige123NächsteLetzte
Объясните пожалуйста, как создать подкатегории!
Kabak |
|
---|---|
В последней версии движка в TPL который по умолчанию выводит новости на главной странице прописан {PAGE_ROW_TEXT_CUT} ( прежде чем публиковать точную информацию я проверил на своём сайте ) |
Kopusha |
|
---|---|
Тег сам называется Страницы вЦикле Текст Обрезать) Разверну - и тег PAGE_ROW_TEXT и PAGE_ROW_TEXT_CUT выведуь одно и те же - содержимое таблицы pages столбец page_text. Ну или типа того. Но если в этом содержимом есть [more] то PAGE_ROW_TEXT выведет весь текст а PAGE_ROW_TEXT_CUT все до этого [more] - отработает cot_cut_more Может в новых ревизиях чото то по другому - но сильно сомневаюсь.
|
Pahan |
|
---|---|
#47733 Kabak: Ваше решение помогло, в шаблоне nemesis вообще отсутстовала папка plugins, не говоря уже о папке indexnews. Такой способ сработал и на других шаблонах, спасибо! В шаблоне tpl который я скопировал было прописано просто {PAGE_ROW_TEXT_CUT}. Добавлено 3 минуты спустя: Но мой второй вопрос остается в силе, как сделать сетку (grid) на главной странице.Я не нашел ни одного шаблона с таким оформлением, чтобы посмотреть как делается. Совершенно без разницы сетка на bootstrap 5 или своими CSS, я html просто привел для примера, чтобы было понятно. Добавлено 5 минут спустя: Чтобы визуально было понятно, что надо, вот пример: |
|
Dieser Beitrag wurde von Pahan (am 4. Februar 2024, 09:01, vor 1 Jahr) bearbeitet |
Kabak |
|
---|---|
Потому что тема по умолчанию и в ней нет модификаций под чьи-нибудь нужды. поэтому нет папок для модификаций других TPL из базовой поставки движка. Рекомендую всегда создавать в вашей теме с небазовым названием папки и TPL , а не модифицировать TPL прямо в движке в плагинах или модулях. Потому что при обновлении движка всё содержимое движка включая базовые темы NEMESIS и т.д. вернётся к базовому состоянию и ваши изменения пропадут. Создайте копию темы , например NEMESIS с другим имененем и модифицируйте TPL в этой теме, а не в базовой, Ваша тема не повредится при обновленіі движка. Как быстро создать свою тему для Cotonti ?
Я не силён в сетках и никогда не использую Bootstrap. Я рисую скины сам и сам пишу стили для своих скинов. Для изящного и быстрого Cotonti библиотека Bootstrap громоздка. Это моё личное мнение. Вам придётся модифицировать TPL от вашего скина самостоятельно чтобы применить CSS от Bootstap к вашему скину. Оберните всё самостоятельно во внешний вид из Bootstrap |
|
Dieser Beitrag wurde von Kabak (am 4. Februar 2024, 09:31, vor 1 Jahr) bearbeitet |
Pahan |
|
---|---|
Да не проблема в HTML (скине), а как программно вывести сетку? В скине Wordpress есть function.php в котором можно написать что угодно и использовать как угодно. А в Cotonti как делать? Грубо говоря мне нужно, чтобы каждые три новости из 30 штук выводило вот такую байду:
<div class="row mb-3 text-center"> <div class="col-4 themed-grid-col">Статья 1</div> <div class="col-4 themed-grid-col">Статья 2</div> <div class="col-4 themed-grid-col">Статья 3</div> </div> и так далее до 30 штук! В итоге получиться 3 колонки в каждой по 10 штук. |
Kabak |
|
---|---|
"Сетка" - это скин = внешний вид титульной страницы или любой иной страницы сайта. Главная страницы сайта - index.tpl хранящийся в корневом каталоге любой темы для Cotonti. Модифицируйте вашу тему ( Index.tpl и *.tpl с исполььзованием CSS из Bootstrap так, чтобы сайт выгялдел как хочется вам. ) Добавлено 2 минуты спустя: #47752 Pahan: Это нужно модифицировать TPL от плагина который выводит новости. В вашем случае indexnews.tpl Так , чтобы выводило как нужно вам
Добавлено 4 минуты спустя: т.е. в прямом смысле руками в нужных TPL модифицировать HTML + CSS + JS = создавть внешний вид вашей страницы. Что не понятно ? |
Pahan |
|
---|---|
Как модифицировать indexnews.tpl чтобы выводило по три новости за такт! Вот пример PHP кода: $data = array( array('title' => "TITLE1", 'link' => "LINK1"), array('title' => "TITLE2", 'link' => "LINK2"), array('title' => "TITLE3", 'link' => "LINK3"), array('title' => "TITLE4", 'link' => "LINK4"), array('title' => "TITLE5", 'link' => "LINK5"), array('title' => "TITLE6", 'link' => "LINK6"), array('title' => "TITLE7", 'link' => "LINK7"), array('title' => "TITLE8", 'link' => "LINK8"), array('title' => "TITLE9", 'link' => "LINK9"), array('title' => "TITLE10", 'link' => "LINK10"), ); $rowCounter = 1; $dataCounter = 0; $newRow = true; while($dataCounter < count($data)) { if($newRow == true) { echo '<div class="row mb-3 text-center">'."\n"; $newRow = false; } echo "\t".'<div class="col-4 themed-grid-col"><a href="'.$data[$dataCounter]['link'].'">'.$data[$dataCounter]['title'].'</a></div>'."\n"; if(($rowCounter / 3) == 1 OR ($rowCounter % 3) == 0 OR (count($data) - $dataCounter) < 3) { echo '</div>'."\n"; $newRow = true; } $rowCounter++; $dataCounter++; }
|
|
Dieser Beitrag wurde von Pahan (am 4. Februar 2024, 09:57, vor 1 Jahr) bearbeitet |
Kabak |
|
---|---|
Блок <!-- BEGIN: PAGE_ROW --> ... <!-- END: PAGE_ROW -->
Выводит каждую новость в этом блоке пока не закончится список новостей подлежащих отображению |
Kopusha |
|
---|---|
Там где создается цикл чего угодно можно (something) сделать так (если в файле something.list) еще этого нет foreach($sqllist_rowset as $item) { $jj++; $t->assign(array( "SOMETHING_ROW_ODDEVEN" => cot_build_oddeven($jj), "SOMETHING_ROW_NUM" => $jj, )); } это даст возможность в TPL <!-- IF {SOMETHING_ROW_NUM} == 3 OR {SOMETHING_ROW_NUM} == 18 -->
|
Kabak |
|
---|---|
Что значит по три новости за такт ? |
Kopusha |
|
---|---|
Собственно можно прямо в TPL делать if(($rowCounter / 3) == 1 OR ($rowCounter % 3) == 0 OR (count($data) - $dataCounter) < 3) и тому подобное конечно это через жопу но уже что то. Added 47 seconds later: <!-- IF {SOMETHING_ROW_NUM} / 3 == 0 OR {SOMETHING_ROW_NUM} < 3 --> ну и тд Added 30 seconds later: советую найти в документации доки по тегам и вычисленям в них и прочитать - не будет таких вопросов Added 1 minute later: #47757 Kabak: типа первые три большие а потом поменьше |
Pahan |
|
---|---|
Понял спасибо!
|
Kabak |
|
---|---|
Этот плагин выводит одну новость за такт. Хотите блоками по три новости в блоке, нужно 1) оформить CSS так , чтобы новоти выводились по три или 2) писать свой плагин на базе indexnews. Переименуйте копию этого плагина и смодифиицруйте его под ваши нужды. |
|
Dieser Beitrag wurde von Kabak (am 4. Februar 2024, 10:18, vor 1 Jahr) bearbeitet |
Kopusha |
|
---|---|
indexnews.index.tags.php имеет такой код $indexnews_html = cot_page_enum($cfg['plugin']['indexnews']['category'], $cfg['plugin']['indexnews']['maxpages'], cot_tplfile('indexnews', 'plug'), '', '', true, true, false, '', 'd', (int)$cfg['plugin']['indexnews']['cache_ttl']); соответственно он использует функцию cot_page_enum о которой на этом форуме написано уже много и подробно ей можно делать практически что угодно прошу обратить внимание что она кеширует - или отключть кеш или чистить в админке что бы увидеть изменения
Added 3 minutes later: если коротко то /** * Generates page list widget * @param mixed $categories Custom parent categories code * @param integer $count Number of items to show. 0 - all items * @param string $template Path for template file * @param string $order Sorting order (SQL) * @param string $condition Custom selection filter (SQL) * @param mixed $active_only Custom parent category code * @param boolean $use_subcat Include subcategories TRUE/FALSE * @param boolean $exclude_current Exclude the current page from the rowset for pages. * @param string $blacklist Category black list, semicolon separated * @param string $pagination Pagination symbol * @param integer $cache_ttl Cache lifetime in seconds, 0 disables cache * @return string Parsed HTML */ function cot_page_enum($categories = '', $count = 0, $template = '', $order = '', $condition = '', $active_only = true, $use_subcat = true, $exclude_current = false, $blacklist = '', $pagination = '', $cache_ttl=null)
Added 1 minute later: #47760 Kabak: да там и нет плагина - там просто подключение 1 функции что можно сдлеать прямо в тпл |
Pahan |
|
---|---|
Вообщем сделал попростому пока, потом переделаю нормально. Как-то так: <!-- IF {PAGE_ROW_NUM} == 1 OR {PAGE_ROW_NUM} == 4 --> <div class="row mb-3 text-center"> <!-- ENDIF --> <div class="col-4 themed-grid-col"> {PAGE_ROW_TEXT_CUT|cot_string_truncate($this,150,true,false,'...')} <br /><a href="{PAGE_ROW_URL}" class="btn btn-small btn-primary">{PHP.L.ReadMore}</a> </div> <!-- IF {PAGE_ROW_NUM} == 3 OR {PAGE_ROW_NUM} == 6 --> </div> <!-- ENDIF --> Народ, кто-нибудь может сделать нормальную документацию? Даже самого простого нет! Как добавить изображение к статье? Добавлено 1 минута спустя: Я имею ввиду изображение статьи, а не изображение в тексте статьи. Использовать экстраполя? |