HeadHunter
Shop Script
- Регистрация
- 21 Июн 2011
- Сообщения
- 629
- Реакции
- 280
- Автор темы
- #1
Предистория. Разрабатывал значит я один магазин, и по тз было задание, чтобы к новости добавлять изображение. Думал что функционал должен быть, а нет. Оказалось что в коде он есть (корявый до ужаса и не рабочий) а в админке не выведен. Обычное добавление изображение в тексте новости через редактор не прокатывал, так как толком и сверстать страницу нельзя было.
Теперь по теме.
1. Открываем файл published/SC/html/scripts/templates/backend/news_add.html находим там
ниже вставляем
сохраняем в кодировке utf-8 без BOM
2. Открываем файл published/SC/html/scripts/modules/news/class.newsmodule.php
Ищем
и ниже вставляем
сохраняем
3. Для отображения изображения в админке при просмотре всех новостей
открываем published/SC/html/scripts/templates/backend/news.admin_list.tpl.html
ищем
меняем на
4. Загружаем изображение на сервер и записываем в БД.
Открываем файл published/SC/html/scripts/templates/backend/news_add.html находим там
меняем на
Вот в принципе и все. Единственное что не работает толком, так это загрузка нового или удаление старого изображения при редактировании новости. Кто поможет буду благодарен
Теперь по теме.
1. Открываем файл published/SC/html/scripts/templates/backend/news_add.html находим там
Код:
<tr>
<td>{"blog_post_title"|translate} <span class="notice">({"blog_str_not_html"|translate})</span>:</td>
<td>
{*<input type=text name='DATA[title]' value='{$NewsInfo.title}' size="50" />*}
{html_text namespace="DATA" name="title" values=$NewsInfo table=$smarty.const.PRODUCTS_TABLE style="width:100%"}
</td>
</tr>
ниже вставляем
Код:
<tr>
<td align="left" valign="top">Изображение</td>
<td>
<input type="file" name="DATA[picture]" />
</td>
</tr>
сохраняем в кодировке utf-8 без BOM
2. Открываем файл published/SC/html/scripts/modules/news/class.newsmodule.php
Ищем
Код:
case 'ADD_NEWS':
и ниже вставляем
Код:
$picture = "";
if ( $_FILES["DATA"]["size"]["picture"]!=0 && is_image($_FILES["DATA"]["name"]["picture"]))
{
$res = Functions::exec('file_move_uploaded', array($_FILES["DATA"]["tmp_name"]["picture"], DIR_PRODUCTS_PICTURES."/".$_FILES["DATA"]["name"]["picture"] ));
if(PEAR::isError($res))Message::raiseMessageRedirectSQ(MSG_ERROR, '', $res->getMessage());
$picture = $_FILES["DATA"]["name"]["picture"];
SetRightsToUploadedFile( DIR_PRODUCTS_PICTURES."/".$picture );
}
if ( !file_exists(DIR_PRODUCTS_PICTURES."/".$picture) )
$picture = "";
$_POST['DATA']['picture'] = $picture?$picture:'';
if(!$_POST['DATA']['picture'])unset($_POST['DATA']['picture']);
сохраняем
3. Для отображения изображения в админке при просмотре всех новостей
открываем published/SC/html/scripts/templates/backend/news.admin_list.tpl.html
ищем
Код:
{if $news_posts[i].picture_exists}
<img src="{$smarty.const.URL_PRODUCTS_PICTURES}/{$_news.picture}" hspace="20" vspace="20" align="left" />
{/if}
меняем на
Код:
{if $news_posts[0].picture_exists}
<img src="{$smarty.const.URL_PRODUCTS_PICTURES}/{$_news.picture}" hspace="20" vspace="20" align="left" />
{/if}
4. Загружаем изображение на сервер и записываем в БД.
Открываем файл published/SC/html/scripts/templates/backend/news_add.html находим там
Код:
<form action="{''|set_query_html}" method="POST" name='MainForm'>
меняем на
Код:
<form action="{''|set_query_html}" method="POST" name='MainForm' enctype="multipart/form-data">
Вот в принципе и все. Единственное что не работает толком, так это загрузка нового или удаление старого изображения при редактировании новости. Кто поможет буду благодарен