Для версии 1.8
Необходимо добавить новую строчку в cms_content. Назовем ее istochnik.
Заходим в базу данных.
Открываем cms_content и добавляем новую строку со следующими параметрами:
поле istochnik
Тип Varchar
длина значения 200
по умолчанию нет
Сравнение cp1251_general_ci
Все работы с базой закончены.
находим код, примерно строка 173 после
Добавляем
находим код, примерно строка 428 после
Добавляем
находим код, примерно строка 448
Добавляем
Находим код, примерно строка 470
Добавляем
Сохраняем файл
Добавляем istochnik после title, должно получиться следующее
Находим код, примерно строка 715
и добавляем '{$article['istochnik']}' после '{$article['title']}' должно получиться следующее
Находим код, строка примерно 762
в предпоследнюю строчку добавляем istochnik='{$article['istochnik']}' должно получиться следующее
Все сохраняем файл, основная работа закончена, теперь осталось сделать вывод нового поле.
4. Открываем файл com_content_edit.tpl по умолчанию он находиться в папки templates/_default_/components
и в нужное место вставляем
Для добавления поля
Если, вы планируете, что бы пользователь в это поле вставлял с ссылку на другой сайт, тогда замените
На это правило
Все с этим файлом мы закончили, теперь поле выводиться при добавлении/редактировании статьи.
и в нужном нам месте вставляем
Если необходимо просто текстом
Если необходимо ссылкой
Находим код, примерно строка 248
И добавляем следующую функцию $article['istochnik'] = $inCore->request('istochnik', 'str');
у нас должно получиться
Находим код, примерно строка 342
И добавляем следующую функцию $article['istochnik'] = $inCore->request('istochnik', 'str');
у нас должно получиться
И последнее
после кода, примерно строка 537
Добавляем следующее
Все. готово. можно тестировать
1. Редактируем базу
.Необходимо добавить новую строчку в cms_content. Назовем ее istochnik.
Заходим в базу данных.
Открываем cms_content и добавляем новую строку со следующими параметрами:
поле istochnik
Тип Varchar
длина значения 200
по умолчанию нет
Сравнение cp1251_general_ci
Все работы с базой закончены.
2. Открываем файл frontentd.php из папки components/content
находим код, примерно строка 173 после
$smarty->assign('showdate', $showdate); $smarty->assign('showcomm', $showcomm); $smarty->assign('pagetitle', $pagetitle);
$smarty->assign('istochnik', $istochnik);
$smarty->assign('cfg', $cfg); $smarty->assign('pubcats', $pubcats); $smarty->assign('pagetitle', $pagetitle);
$smarty->assign('istochnik', $istochnik);
$article['user_id'] = $mod['user_id'] ? $mod['user_id'] : $user_id; $article['title'] = $inCore->request('title', 'str', '');
$article['istochnik'] = $inCore->request('istochnik', 'str', '');
$article['showtitle'] = $do=='editarticle' ? $mod['showtitle'] : 1;
3. Далее открываем файл model.php из папки components/content
Находим код, примерно строка 708
$sql = "INSERT INTO cms_content (category_id, user_id, pubdate, enddate, is_end, title, description, content, published, hits, meta_desc, meta_keys, showtitle, showdate, showlatest,
$sql = "INSERT INTO cms_content (category_id, user_id, pubdate, enddate, is_end, title, istochnik, description, content, published, hits, meta_desc, meta_keys, showtitle, showdate, showlatest,
'{$article['is_end']}', '{$article['title']}', '{$article['description']}', '{$article['content']}', '{$article['published']}', 0,
'{$article['is_end']}', '{$article['title']}', '{$article['istochnik']}', '{$article['description']}', '{$article['content']}', '{$article['published']}', 0,
$sql = "UPDATE cms_content SET category_id = {$article['category_id']}, pubdate = '{$article['pubdate']}', enddate = '{$article['enddate']}', is_end = '{$article['is_end']}', title='{$article['title']}',
$sql = "UPDATE cms_content SET category_id = {$article['category_id']}, pubdate = '{$article['pubdate']}', enddate = '{$article['enddate']}', is_end = '{$article['is_end']}', istochnik='{$article['istochnik']}', title='{$article['title']}',
4. Открываем файл com_content_edit.tpl по умолчанию он находиться в папки templates/_default_/components
этот файл отвечает за добавления/редактирования статей пользователей
и в нужное место вставляем Для добавления поля
<tr> <td width="230" valign="top"> <strong>Источник:</strong> <span class="hinttext">{$LANG.SHOW_ON_SITE}</span> </td> <td valign="top"> <input name="istochnik" type="istochnik" class="text-input" id="title" style="width:350px" value="{$mod.istochnik|escape:'html'}" /> </td> </tr>
<span class="hinttext">{$LANG.SHOW_ON_SITE}</span>
<span class="hinttext">Добавляйте ссылку без htpp://</span>
5. Далее нам необходимо сделать вывод этого поля при чтении статьи
Для этого открываем файл com_content_read.tpl по умолчанию он находиться в папки templates/_default_/componentsи в нужном нам месте вставляем
Если необходимо просто текстом
{$article.istochnik}
<a href="http://{$article.istochnik}">{$article.istochnik}</a>
6. Если необходимо это поле редактировать через админ панель.
Открываем файл content.php из папки admin/appletsНаходим код, примерно строка 248
$id = $inCore->request('id', 'int', 0); $article['category_id'] = $inCore->request('category_id', 'int', 1); $article['title'] = $inCore->request('title', 'str');
у нас должно получиться
$id = $inCore->request('id', 'int', 0); $article['category_id'] = $inCore->request('category_id', 'int', 1); $article['title'] = $inCore->request('title', 'str'); $article['istochnik'] = $inCore->request('istochnik', 'str');
if ($do == 'submit'){ $article['category_id'] = $inCore->request('category_id', 'int', 1); $article['title'] = $inCore->request('title', 'str');
у нас должно получиться
if ($do == 'submit'){ $article['category_id'] = $inCore->request('category_id', 'int', 1); $article['title'] = $inCore->request('title', 'str'); $article['istochnik'] = $inCore->request('istochnik', 'str');
после кода, примерно строка 537
<div><strong>Теги статьи</strong></div> <div><input name="tags" type="text" id="tags" style="width:99%" value="<?php if (isset($mod['id'])) { echo cmsTagLine('content', $mod['id'], false); } ?>" /></div>
<div><strong>Источник</strong></div> <div><input name="istochnik" type="istochnik" id="istochnik" style="width:100%" value="<?php echo @$mod['istochnik'];?>" /></div>
поле istochnik
Тип Varchar
длина значения 200
по умолчанию нет
Сравнение cp1251_general_ci
поле istochnik
Тип Varchar
длина значения 200
по умолчанию нет
Сравнение cp1251_general_ci
Огромное спасибо lucku за труды по возможности отблагодарю :)
Пару вопросов.
<span class="hinttext">Добавляйте ссылку без htpp://</span>
А если с http:// то получается просто отсюда убрать префикс? <a href="
http://{$article.istochnik}">{$article.istochnik}</a>, или база не воспримет ссылку с http:// - Просто кто новости добавляет тупо копирует адрес с адресной строки браузера.Еще если включен плагин похожие статьи, то ссылка выводится под ними, куда я только не пихал в шаблоне ее. Можеть есть каке решение что бы прямо под новость.
Добавление новости теперь так выглядит:
Проблему с выводом выше похожих статей пока не решил.
href="http://{$article.istochnik}"> из ссылки, и пользователь ее не поставить при ее добавлении, ссылку получиться внутренней, а не внешней.Похожие статьи - может вы имеете ввиду последние статьи
Описание из админки: Добавляет в конец каждой статьи список похожих статей. Maximov & InstantCMS Team
Вот оно все портит, пример http://westday.ru/orion-yekspres-perevodit-sputnik-horizons-2-na-novuyu-poziciyu.html Там под новость сразу похожие статьи, а затем уже ссылка, похожих статей может быть до пяти штук.
Проблема в том что этот плагин не прописан в шаблоне, он как то подцепляется к самому тексту что ли. Редактировал сам плагин, нашол как ссылку вставить выше, но она получается просто в виде тега который прописывали {$article.istochnik} и не работает.
вместо пункта 5, вставьте в файл плагина p_morecontent
перед
Если тема решена, закройте ее на форуме
http://instantcms.ru/users/files/download1373.html
может в пост его кинуть вместо пункта 5?
То же самое и если перед этой строкой $item['content'] .= '<h4>Похожие статьи:</h4>'.$morecontent; добавить.
Почему то не обрабатывается, пример все по той же ссылке.
Грубо говоря, в конце статьи появляются две такие ссылки и не надо ничего заполнять при создании темы.
Вот это ставим после {$article_content}
Со вторым ни как, шаблон как то PHP обрабатывает криво.
То есть еще кроме выбора раздела, чтобы можно было выбрать рубрику к которой относиться статья. Это полезно, тогда можно было бы на сайте более избирательно искать статью.
Т.е. Вы хотите, что бы пользователь выбирал сначала раздел, потом выбрал рубрику?
Вроде так даже и лутше.
Почему то если не в шаблоне то не обрабатывается.
В открывшемся окне выбираем закачать, пользователь туда загружает файл, расширение которого указано профиле пользователей.
Вроде такого что то:
Сегодня смотрел сам, но код изменился и как быть даже не знаю...