[Помогите] Возможно ли в Webasyst в сираницу добавить php код

Тема в разделе "WebAsyst", создана пользователем IP`Shechka, 14 янв 2013.

  1. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    На одной из страниц мне нужно разместить файл с прайсом 'price.rar', так вот, чтоб каждый раз не выставлять дату формирования прайса, хочется этот процесс автоматизировать. У меня есть php-код, который может в html вставить дату создания этого файла, но я не знаю как его вставить в шаблон страницы. Подскажите, пожалуйста.
     
  2. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Webasyst
    Re: А можно в страницы в ставлять php код?

    В редакторе дизайна в режиме Advanced mode (HTML) в нужном месте вставить следующий код
    а в директорию WBS_INSTALL_PATH/published/SC/html/scripts/templates/frontend положить файл my_price_link.php с примерно таким кодом
     
  3. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    попробовала этот рецепт, а в ответ на странице



    что я делаю не правильно?
    Такое ощущение, что теги "<?php" "?>" - правильно не распознаются, и обрабатываются как ХТМЛ-код.
     
  4. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Посмотрите файл

    published\SC\html\scripts\classes\class.view.php
    приведите параметры Смарти к таким:
    --- добавлено: 14 янв 2013 в 11:56 ---
    --- добавлено: 14 янв 2013 в 11:58 ---
    далее Редактор дизайна ---> В хтмл-редакторе ---> Редактирование темы ---> Основная разметка ---> Редактировать HTML-код

    Туда вставляешь код в следующем виде:




    Если хочешь, чтоб результат обработки кода отображался в информационных страницах или наоборот, если надо вставить пхп код в информ. страницу, то там же (Редактор дизайна ---> В хтмл-редакторе ---> Редактирование темы ---> Основная разметка ---> Редактировать HTML-код) с помощью php вставляю код генеририрующий javascript-код с переменной в которую помещал, результат обработки php-кода. Далее, через phpMyAdmin, в поле нужной информационной страницы вставляешь хтмл-код, в котором содержится javascript выводящий на странице значение переменой (результат обработки php). Учти в хтмл-редакторе информационных страниц javascript беспощадно вырезается, при попытке его сохранить, так что вставлять его придётся непосредственно в SQL-бд.Способ обходной и слегка корявый но рабочий
     
    IP`Shechka нравится это.
  5. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    И все таки, как правильно подключить
    <?php
    непосредственно сам код;
    ?>

    <?php
    вывод результата
    ?>
    Попробовала все, что здесь написано не работает.
     
  6. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Ok! Давай разбираться.
    Ответь на вопросы:
    1. Ты внесла изменения в class.view.php ?
    2. Куда ты вставляешь это код:




    3. Что происходит когда ты заходишь на страницу с вставленным кодом?
     
  7. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Изменения в published\SC\html\scripts\classes\class.view.php внесла, вставляю в редакторе Редактировать HTML-код -выдает ерор, вставляла в визуальной части, как пользовательский код - просто не работает.
     
  8. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Хорошо если ты внес изменения в class.view.php, то давай теперь проверим следующее:
    1. Зайди в Магазин -> Дизайн -> Редактор дизайна -> Основная разметка -> Редактировать HTML-код
    2. Далее, в самом верху редактируемого поля вставь следующий код:




    3. Жмакни на кнопку "Сохранить шаблон"
    4. Иди на свой сайт и смотри, что появилось
    5. Отпиши сюда, что получилось.
     
  9. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Пишет TEST
     
  10. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Отлично! Поздравляю PHP у тебя работает!
    Так что ищи ошибку в вставляемом ПХП-коде.
    Ну или давай код сюда, общими усилиями попробуем найти ошибку.
     
  11. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Ну php не может не работать в принципе. Код
    <?php
    if (!defined('_SAPE_USER')){
    define('_SAPE_USER', 'ххххххххххххххххххххх');
    }
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    $sape = new SAPE_client();
    echo $sape->return_links();
    ?>

    Этот код работает на тысячах сайтов и на всех старых версиях магазина. Только на старых версиях он вставляется как {php}...{php}, а тут никак.
     
  12. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Проверь, есть ли тот самый _sape_user/sape.php
     
  13. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Есть, он сейчас работает на free версии, собственно невозможность правильно установить код и тормозит переход на WebAsyst
     
  14. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Реши проблему тогда так:
    Ищи в янде руководство по созданию плагинов для SMARTY.
    Заходи в published/SC/scripts/html/smarty/plugins/ и добавь туда funtion.имяфункции.php.
    Заполни её произвольным кодом.
    Можно сделать плагин вида function show_php( $params ) { взять из параметров код, назначить его в переменную $kod, и вписать return $kod; }
    Также можно к каждому php-коду который нужно вставить писать свой плагин.
     
  15. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Если можно подробней, я не программист, а сделать надо.
    Я так поняла надо создать здесь published/SC/scripts/html/smarty/plugins/ файл funtion.sape.php.
    В него вставить код
    <?php
    if (!defined('_SAPE_USER')){
    define('_SAPE_USER', 'ххххххххххххххххххххх');
    }
    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
    $sape = new SAPE_client();
    echo $sape->return_links();
    ?>

    А что дальше? Как вывести результат (ссылки) на страницах и правильно ли просто вставить код.

     
  16. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    АААААААААААААААААААААААААААААААААА!!!!!!!!!

    не совесем...
    создай public_html/published/SC/html/scripts/smarty/plugins/function.sape.php
    в нём




    Соотвественно вызов функции производиться {ИМЯ_ФУНКЦИИ}
     
    IP`Shechka нравится это.
  17. IP`Shechka

    IP`Shechka

    Регистрация:
    14 янв 2013
    Сообщения:
    9
    Симпатии:
    0
    Уррра!!! спасибо!!!!!!! помогло!!!)) вот я тут развела тягомотины))
     
  18. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    так на всякий случай продублирую ещё раз чтобы вопросов не было на твоём примере.


    Вывод в шаблонах: {showsape}

    а так рад стараться!