[Помощь] Модуль новости версия 1,22

Тема в разделе "Shop-script", создана пользователем Рус44, 27 окт 2009.

Статус темы:
Закрыта.
  1. Рус44

    Рус44 Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    14
    Симпатии:
    1
    Всем привет!
    Хотел сделать модуль новости для версии 1,22 по странично.
    Но ничего не получается.
    В inclubes/news.php
    PHP:
    <?php
    /*****************************************************************************
     *                                                                           *
     * Shop-Script PREMIUM                                                       *
     * Copyright (c) 2005 WebAsyst LLC. All rights reserved.                     *
     *                                                                           *
     *****************************************************************************/    


        
    $news_array newsGetNewsToCustomer();
        
    $smarty->assign"news_array"$news_array );

        if ( isset(
    $_POST["subscribe"]) )
        {
            
    $error subscrVerifyEmailAddress($_POST["email"]);
            if ( 
    $error == "" )
            {
                
    $smarty->assign"subscribe");
                
    subscrAddUnRegisteredCustomerEmail$_POST["email"] );
            }
            else
                
    $smarty->assign"error_message"$error );
        }

        if ( isset(
    $_POST["email"]) )
            
    $smarty->assign"email_to_subscribe"$_POST["email"] );
        else
            
    $smarty->assign"email_to_subscribe""Email" );

        if ( isset(
    $news) && !isset($ID)) 
    {
            
    $smarty->assign"main_content_template""show_news.tpl.html" ); 
                                      unset(
    $news);
    }
    Добавил это
    else    if (isset($news) && $ID<4)
    {                                 
    $smarty->assign("nID","$ID");
            
    $smarty->assign"main_content_template""show_newsID.tpl.html" ); 
    }
                
    ?>
    В шаблон добавил
    /templates/frontend/tmpl1/news.tpl.html
    PHP:
    {section name=i loop=$news_array}
        
    <
    b><font class=light color="#FFFFFF">
                <
    span style="background-color: #3C5267">{$news_array[i].add_date}</span></font></b>
            
    <
    u>
                <
    font class=middle color="#C0C0C0"><a href="index.php?news=yes&ID={$news_array[i].NID}">{$news_array[i].title}</a></font></u>
                <
    br><br>

        {/
    section}
    Создал шаблон /templates/frontend/tmpl1/show_newsID.tpl.html
    PHP:
    {section name=i loop=$news_array}

                            <
    div class="box_wr" style="margin-bottom:15px;">{$news_array[i].add_date}</div>
                        
                        <
    b>{$news_array[i].title}</b><br>
            
                       {if 
    $news_array[i].picture ne ""}
                        <
    img src='products_pictures/{$news_array[i].picture}' 
                            
                    
    {else} {/if}
                        {
    $news_array[i].textToPublication}
                    

    {/
    section}
    Выдает все равно все новости.
    Может кто нибудь подскажет что делать?
     
  2. GranDiuS

    GranDiuS Создатель

    Регистр.:
    7 сен 2008
    Сообщения:
    36
    Симпатии:
    10
    Вызов конкретной новости, делается в 5 шагов.
    ВНИМАНИЕ: Перед тем как что-либо менять - делайте backup файла, который меняете.
    Шаг 1.
    Файл: /templates/frontend/папка_вашего_шаблона/news.frontend.shortlist.tpl.html
    Код: В необходимом месте (например, после текста новости вставить:(
    Код:
    PHP:
    <!-- NOT ORIGINALPLACING LINK FOR PARTICULAR NEWS_ID -->
    <
    a href='index.php?news_id={$news_array[i].NID}' style="color: #999920;">Подробнее...</a>
    Шаг 2.
    Файл: index.php
    Код: Найти в файле
    Код:
    PHP:
    if ( isset($_GET["news"]) || isset($_GET["news"]) )
    $news 1;
    После него вставить:
    Код:
    PHP:
    // NOT ORIGINAL:
    // Adding call for particular news_id
    if ( isset($_GET["news_id"]) || isset($_GET["news_id"]) )
    $news_id 1;
    Шаг 3.
    Файл: /includes/news.php
    Код: Найти
    Код:
    PHP:
    if ( isset($news) ){
    $NewsObj->generatePage('frontend news list');
    }
    Вставить после него
    Код:
    PHP:
    if ( isset($news_id)) {
    $NewsObj->generatePage('show particular news');
    }
    Шаг 4.
    Файл: /modules/news/class.newsmodule.php
    Код: Найти
    Код:
    PHP:
            switch($_PageName){
                case 
    'frontend news short list':
                    
    $smarty->assign('news_array'xHtmlSpecialChars($this->getNews(null1$this->NewsInShortList), array(), 'title') );
                    
    $smarty->assign'NewsShortListTpl''news.frontend.shortlist.tpl.html' );
                    break;
    После него вставить:
    Код:
    PHP:
                // NOT ORIGINAL:
                // ADDING CALL FOR PARTICULAR NEWS
                
    case 'show particular news':
                    
    $news_id $_GET['news_id'];
                    
    $news_arr xHtmlSpecialChars($this->getNews($news_id11), array(), 'title');
                    
    $smarty->assign('current_news_id'$news_arr );
                    
    $smarty->assign'main_content_template''news.frontend.current.id.tpl.html' );
                    break;
    Шаг 5.
    В папке /templates/frontend/папка_вашего_шаблона/ создайте файл news.frontend.current.id.tpl.html со следующим содержанием:
    Код:
    PHP:
    {literal}
    <
    style type="text/css">
    .
    newsdiv{
        
    border:0 dashed black;
        
    border-width1 0 0 0;
        
    margin:3px;
    }
    .
    newsblock{
        
    float:left;
        
    width:100%;
    }
    </
    style>
    {/
    literal}
    <
    h1><u>{$smarty.const.ADMIN_NEWS}</u></h1>
    <
    table cellpadding="4"><tr><td>
    {if 
    $current_news_id}
    <
    div class="newsblock">
    <
    h3>{$current_news_id.2}</h3>
    <
    strong>{$current_news_id.1}</strong>
    <
    p>
    {if 
    $current_news_id.3}
        <
    img src="./products_pictures/{$current_news_id.3}hspace="10" align="left" />
    {/if}
    {
    $current_news_id.4}
    </
    p>
    </
    div>
    <
    div class="newsblock"><br><br>
    <
    div class="newsdiv"></div>
    <
    br><br>
    </
    div>
    {else}
    {
    $smarty.const.STRING_EMPTY_LIST}
    {/if}
    </
    td></tr></table>
    Если что-то будет не так - пиши.
     
    ЗЫМ и rus71 нравится это.
  3. Рус44

    Рус44 Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    14
    Симпатии:
    1
    Нет у меня таких файлов :(
     
  4. GranDiuS

    GranDiuS Создатель

    Регистр.:
    7 сен 2008
    Сообщения:
    36
    Симпатии:
    10
    Каких именно у тебя нету файлов?
     
  5. Рус44

    Рус44 Создатель

    Регистр.:
    11 фев 2009
    Сообщения:
    14
    Симпатии:
    1
    /news.frontend.shortlist.tpl.html


    /modules/news/class.newsmodule.php

    У меня версия по ходу другая. Старая.
     
  6. nangel

    nangel Создатель

    Регистр.:
    13 дек 2008
    Сообщения:
    23
    Симпатии:
    0
    Это же для версии 1.22
     
Статус темы:
Закрыта.