SS Premium - изменяемый контент для страниц Главная и Обратная связь

Тема в разделе "Shop-script", создана пользователем APosteriori, 30 июл 2008.

Статус темы:
Закрыта.
Модераторы: kadurinho
  1. APosteriori

    APosteriori Писатель

    Регистр.:
    16 июл 2008
    Сообщения:
    9
    Симпатии:
    18
    Данная тема уже поднималась, и вроде как оказаль практически ненужной никому) но все же для тех кому нужно иметь возможность изменять контент страниц ГЛАВНАЯ и ОБРАТНАЯ СВЯЗЬ могу предоставить такой рецепт:

    делаем вставку данных в таблицу ss_settings (с помощью phpMyAdmin или другого менеджера баз данных) используя следующий код:
    Код:
    INSERT INTO `ss_settings` (
    `settingsID` ,
    `settings_groupID` ,
    `settings_constant_name` ,
    `settings_value` ,
    `settings_title` ,
    `settings_description` ,
    `settings_html_function` ,
    `sort_order`
    )
    VALUES (
    '0', '2', 'CONF_OWS_AUXPAGE_MAIN', '1', 'ID дополнительной страницы, выводимой на главную страницу', NULL , 'setting_TEXT_BOX(0,', '10'
    ), (
    '0', '2', 'CONF_OWS_AUXPAGE_FEEDBACK', '2', 'ID дополнительной страницы, выводимой на страницу с обратной связью', NULL , 'setting_TEXT_BOX(0,', '10'
    );
    
    Теперь если зайти в админку в раздел настроек - то внизу появятся две дополнительные опции с полями куда надо ввести ID страниц, которые должны выводится на главную и обратную связь.
    Идем в раздел "дополнительные страницы" и создаем там две любые страницы, смотрим их ID и записываем в поля выше))

    Далее открываем файл index.php вставляем почти в самый конец ПЕРЕД строчкой:
    PHP:
        //show Smarty output
        
    $smarty->display("index.tpl.html");
    блок кода:
    PHP:
        if( defined("CONF_OWS_AUXPAGE_MAIN") && defined("CONF_OWS_AUXPAGE_FEEDBACK") ){
            
    $ows_aux_page auxpgGetAuxPage(CONF_OWS_AUXPAGE_MAIN);
            if ( 
    $ows_aux_page ){
                if ( 
    $ows_aux_page["aux_page_text_type"] != )
                     
    $ows_aux_page["aux_page_text"] = nl2br(  str_replace("<","&lt;",$ows_aux_page["aux_page_text"]) );
                
    $smarty->assign("ows_main_content"$ows_aux_page["aux_page_text"] );
            }else{
                
    $smarty->assign("ows_main_content"STRING_GREETINGS);
            }

            
    $ows_aux_page auxpgGetAuxPage(CONF_OWS_AUXPAGE_FEEDBACK);
            if ( 
    $ows_aux_page ){
                if ( 
    $ows_aux_page["aux_page_text_type"] != )
                     
    $ows_aux_page["aux_page_text"] = nl2br(  str_replace("<","&lt;",$ows_aux_page["aux_page_text"]) );
                
    $smarty->assign("ows_feedback_content"$ows_aux_page["aux_page_text"] );
            }else{
                
    $smarty->assign("ows_feedback_content"STRING_FEEDBACK_DESCRIPTION);
            }    
        }
    сохраняем файл, заходим в шаблоны home.tpl.html и feedback.tpl.html и меняем в них соответственно:
    Код:
    {$smarty.const.STRING_GREETINGS}
    на
    {$ows_main_content}
    
    и
    Код:
    {$smarty.const.STRING_FEEDBACK_DESCRIPTION}
    на
    {$ows_feedback_content}
    
    все! можно любоваться результатом))
     
    buratino, Oxanita, andre901 и 4 другим нравится это.
  2. Krab22

    Krab22 Постоялец

    Регистр.:
    7 июл 2008
    Сообщения:
    51
    Симпатии:
    8
    А в WA будет по такой схеме паботать? Или для него другой способ?
     
  3. Oxanita

    Oxanita Постоялец

    Регистр.:
    27 янв 2009
    Сообщения:
    56
    Симпатии:
    4
    С главной не возилась, а "обратную связь" в SS в свое время модифицировала через дополнительный шаблончик типа continfo.tpl.html (не путать с contact_info.tpl.html - это стандартный шаблон из совсем другого раздела!). То есть код шаблона "обратная связь" получается такой:


    {* feedback form *}

    <h1>{$smarty.const.STRING_FEEDBACK}</h1>


    {include file="continfo.tpl.html"}

    {if $sent eq NULL}

    {if $error ne NULL}
    <p><b><font color=red>{$smarty.const.FEEDBACK_ERROR_FILL_IN_FORM}</font></b>
    {/if}

    <p>
    {$smarty.const.STRING_FEEDBACK_DESCRIPTION}

    <p>
    <form name="form1" method="post" action="index.php">
    {$smarty.const.FEEDBACK_CUSTOMER_NAME}:<br>
    <input name="customer_name" type="text" size="40" value="{$customer_name|replace:"\"":"&quot;"}"><br>

    {$smarty.const.CUSTOMER_EMAIL}<br>
    <input name="customer_email" type="text" size="40" value="{$customer_email|replace:"\"":"&quot;"}"><br>

    {$smarty.const.FEEDBACK_CUSTOMER_MESSAGE_SUBJ}:<br>
    <input name="message_subject" type="text" size="50" value="{$message_subject|replace:"\"":"&quot;"}"><br>

    {$smarty.const.FEEDBACK_CUSTOMER_MESSAGE_TEXT}:<br>
    <textarea name="message_text" cols="60" rows="14">{$message_text|replace:"<":"&lt;"}</textarea>

    <p>
    <input type="submit" value="OK">
    <input type="hidden" name="send" value="yes">
    <input type="hidden" name="feedback" value="yes">
    </p>

    </form>

    {else}

    <p>
    <b><font class=faq color=blue>{$smarty.const.FEEDBACK_SENT_SUCCESSFULLY}</font></b>

    {/if}

    А в шаблоне continfo всё задано через языковые файлы, например вот так:


    {* template to continfo *}
    <img src="images/conta.gif" width="600" height="199" />
    //картинка раздела "наши контакты"
    <table width="100%" border="0" cellspacing="5" cellpadding="0">
    <tr>
    <td align="left" valign="top"><h4>{$smarty.const.NAME1}</h4>
    //Название магазина 1
    <p>{$smarty.const.TIMETABLE1} </p>
    //расписание работы этого магаза
    <p>{$smarty.const.ADDRESS1}</p>
    //адрес его же
    <p>{$smarty.const.TELEPHONE}<nobr>тут телефоны пишем</p>
    <hr align="left" width="100%" color="#669933" size="1" noshade="noshade" /></td>
    <td rowspan="2" align="right" valign="top" style="padding-top:5px;"><img src="{$smarty.const.MAP1}" width="300" height="300" /></td>
    //карта расположения магазина. Её тоже можно задавать через языковой файл, как и все остальные записи этого шаблона.
    </tr><table>

    (ну и понятно, что этих контактов можно, продолжая таблицу, добавить сколько нужно, и информацию - кроме телефонов-режима работы и адреса - тоже добавлять какую нужно).
    В итоге получаем полностью многоязычную страницу контактов плюс форму отправки сообщения с сайта внизу, если этих контактов кому-то оказалось мало.
     
  4. buratino

    buratino Постоялец

    Регистр.:
    9 мар 2007
    Сообщения:
    59
    Симпатии:
    39
    Добавить на главную немного текста

    Этот способ простой и особо не трудный добавляет че хотите на главную
    до категорий или после
    ---------------------------------------------------------
    открываем languages/russian.php
    ищем (что-бы незапутаться)

    define('STRING_GREETINGS', '
    какой то html текст
    ');

    Добавляем define('STRING_GREETINGSB', '
    <h1>какой то html текст</h1>
    <h2> ключевики например </h2>
    ');

    отправляем на хост

    открываем home.tpl.html и в нужном месте вставляем {$smarty.const.STRING_GREETINGSB} . у меня например текст внизу по центру после категорий
    конец файла home.tpl.html


    Код:
     </td></tr>
    ......... самый конец файла ............
    </td>
    {if ($smarty.section.i.index+1) is div by 2}</tr>{/if}
    {/section}
    </table>
    [COLOR="Green"]{$smarty.const.STRING_GREETINGSB}[/COLOR]
    </center>
    То есть у вас будет 2 переменные
    STRING_GREETINGS и STRING_GREETINGSB

    Кста не кто не мешает их вам сделать штук 9 или больше :)
     
  5. FLINT

    FLINT А пофлудить?о_О

    Регистр.:
    23 июл 2007
    Сообщения:
    430
    Симпатии:
    176
    to buratino и Oxanita

    какие вы все умные собрались.
    Топикстартер выложил универсальное решение при помощи которого эти 2 страницы можно менять из АДМИНКИ.
    Вы же выкладываете какуюто туфту. Накуя по 10 раз лазить на хост чтобы чтото сменить если все это прекрасно делается из админки?
     
  6. Oxanita

    Oxanita Постоялец

    Регистр.:
    27 янв 2009
    Сообщения:
    56
    Симпатии:
    4
    FLINT, ну так не любо - не не юзай, как говорится... У каждого свои задачи, каждый их себе и решает, как удобнее ЕМУ.
     
Статус темы:
Закрыта.