Перейти к содержанию
Форум поддержки пользователей VamShop

Добавление информации из файла


Рекомендуемые сообщения

Добрый день .. Возникла необходимость добавления описания товаров из отдельного файла скажем 0001.html.

Раскажу подробнее...

Есть много много товаров и описания к ним храняться каждое в отдельном файле с именем таким же как и артикл товаров. Описание форматированно html тегами для красивого вывода.

Вот теперь стоит вопрос как не добавляя их базу... сами описания имееться ввиду. Выводить их на страничках товаров. Есть ли возможность добавить какой нибудь код для вывода в карточке товара иноформации содержащиейся в моих файлах причем чтобы не как текст а чтобы теги тоже обработались ...

пытался добавить в код файла product_info_v1.html наподобие чего нибудь такого.

{if $PRODUCTS_DESCRIPTION !=''}

<p>

{php}

require_once "0001.html";

{/php}

</p>

{/if}

выдает ошибку вместо содержимого файла ... другие способы типо include тоже выдают ошибки ...

и еще вопрос из какой переменной можно выдернуть значение артикла открытой карточки товара?

Ссылка на сообщение
Поделиться на другие сайты

Так можно подключать файлы через Админку - Разное - Информационные страницы, в нижней части страницы можно цеплять разные файлы к товарам.

Ссылка на сообщение
Поделиться на другие сайты
из какой переменной можно выдернуть значение артикла открытой карточки товара?
{$PRODUCTS_MODEL} - Код (артикул) товара.
Ссылка на сообщение
Поделиться на другие сайты

О спосибо отличное решение =) Возникает вопрос А как собственно мне вывести содержимое прикрепленного файла .. тоесть html текст внутри находящийся чтобы он сразу отображался в теле информационной страницы?!?!? Без нажатия кнопки смотреть!

И еще почему то при просмотре прикрепленной страницы всё что было русскими буквами заменено квадратиками какими то =((

Ссылка на сообщение
Поделиться на другие сайты

А Вы как, через кнопку обзор добавляли файл?

Кодировка должна быть utf8, что б текст нормально отображался.

Ссылка на сообщение
Поделиться на другие сайты

Мне бы хотелось что бы вышло несто подобное вот схема задумки

--------------шаблон инфо страницы----------------

**************************************************************************************************************************

******* тут все то что в инфо странице по умолчанию******************************************************

**************************************************************************************************************************

****************************************************************************************************************************

***вот тут "какой нибудь кусочек кода" - который будет открывать и выводить содержимое файла {$PRODUCTS_MODEL}.html который находиться в определенной папке на сервере, ну или по адресу.***************

(я так пологаю пермеенная {$PRODUCTS_MODEL} - на открытой странице товара имеет значение артикла этого товара из базы данных.)

****************************************************************************************************************************

****************************************************************************************************************************

****************тутпродолжаеться всё что дальше в шаблоне ********************

****************************************************************************************************************************

Ссылка на сообщение
Поделиться на другие сайты

Про кодировку спасибо!

Да добавляю файл через обзор!

Не очень бы хотелось ручками добавлять к кажому товару файл...

Изменено пользователем dominion1986
Ссылка на сообщение
Поделиться на другие сайты

В любом случае придётся ручками, по умолчанию вариантов нет других.

Разве что свой код какой-то писать, что б всё автоматом подключалось.

Ссылка на сообщение
Поделиться на другие сайты

добавляю свой код

{php}

include_once "1.html";

{/php}

в файл product_info_v1.html .... в ту же директорию кладу файл 1.html.

В результате на странице карточки товара получаю вот такую ошибку

Warning: include_once(1.html) [function.include-once]: failed to open stream: No such file or directory in /home/virtwww/w_tehnorezerv_ce538003/http/cache/%%A6^A6D^A6D4321F%%product_info_v1.html.php on line 141

Warning: include_once() [function.include]: Failed opening '1.html' for inclusion (include_path='.:') in /home/virtwww/w_tehnorezerv_ce538003/http/cache/%%A6^A6D^A6D4321F%%product_info_v1.html.php on line 141

Почему так? Вроде как Таким способом в php подключаються фалы.

Ссылка на сообщение
Поделиться на другие сайты

ооо круть теперь до файла ходит... =) Спасибо!

Теперь вопрос в следующем.

Суть идеи -

Есть файлы - для примера возьмем 0001.html, 0002.html, 0003.html.

В них находяться описани товаров у которых артиклы аналогичные. (0001,0002,0003)

Я открываю страницу товара артикл которого 0001, я так ппредпологаю, что на этой странице {$PRODUCTS_MODEL} = 0001.

Вставляю код он должен брать из переменной $PRODUCTS_MODEL значение артикла и открывать файл html с соответствующей первой частью имени.

{php}

include_once "tov_info/$PRODUCTS_MODEL.html";

{/php}

Такое может сработать? Ну по идее я проверял скрипт отдельно и он работает. Тут выдает

Warning: include_once(tov_info/.html) [function.include-once]: failed to open stream: No such file or directory in /home/virtwww/w_tehnorezerv_ce538003/http/cache/%%A6^A6D^A6D4321F%%product_info_v1.html.php on line 147

Warning: include_once() [function.include]: Failed opening 'tov_info/.html' for inclusion (include_path='.:') in /home/virtwww/w_tehnorezerv_ce538003/http/cache/%%A6^A6D^A6D4321F%%product_info_v1.html.php on line 147

Путь этот к корню сайта и если писать пути к файлам напрямую а не через переменную то все подключаеться.

... решил проверить будет ли выводиться через echo значение переменной $PRODUCTS_MODEL ...

{php}

$a = $PRODUCTS_MODEL;

echo "artikl tovara = $a";

{/php}

Почему то не выводиться числовое значение артикла ...

Видимо по этому и не срабатывает то что я хотел сделать...

В чем может быть проблема?

Ссылка на сообщение
Поделиться на другие сайты

А зачем Вы в html-шпблоне используете php?

Делайте всё в php файле, подключайте файл, получайте id, а результат подключения назначайте в смарти-метку, а смарт-метку уже вставляйте в шаблон.

Именно так делать правильно.

Ссылка на сообщение
Поделиться на другие сайты

чем дальше влес тем больше вопросов =))) доброй ночи!

Так попробуем разобраться ... и сразу же вопросы... вот тут поподробнее

1) делаю файл.... допустим кладу его в корень и называю artikl.php

<?php

include_once "tov_info/$artikl.txt"; //

?>

2) Теперь непонятно подключаю этот файл куда? Я так понимаю не К файлу шаблона product_info.php ? Туда я должен впиндюрить лиш метку.

3)Как и откуда я могу выдернуть значение которое выводиться в метке {$PRODUCTS_MODEL} на открытой карточке товара. Как вообще это происходит? Я посмотрел переменные через команду phpinfo(32); на карточке товара и ничего кроме product_id ненашел =(((

3) теперь как мне создать метку для этих данных? И где её создаю в теле файла php моего или в каком то другом файле?

Ссылка на сообщение
Поделиться на другие сайты

Посмотрите как например подключаются в /includes/modules/prodct_info.php файлы.

Например файл /includes/modules/product_reviews.php

В-общем, в коде всё уже есть для примера.

Ссылка на сообщение
Поделиться на другие сайты

1)

хммм ну вот строчка include (DIR_WS_MODULES.'product_reviews.php'); подключили файл.

а как результаты его подключения вывести в метку?

2)

еще вот строчка

$info->assign('PRODUCTS_MODEL', $product->data['products_model']);

помогите разобрать что тут что ...

я так понял это и есть метка для артикла .... ?

мне нужно создать что то типо такого же но для своего файла ...

а вот эта часть это само значение артикла - $product->data['products_model'] ???

я могу с помощью него в своем php файле выдернуть значение самого артикла и зделать что то типо такого...

<?php

$artikl = $product->data['products_model'];

include_once "tov_info/$artikl.txt"; //

?>

и в итоге подрубить файл с нужным мне именем?

Ссылка на сообщение
Поделиться на другие сайты

Ну да, примерно так и нужно делать, только назначить смарти метке подключаемый файл.

Вы ж посмотрите как например подключаются файлы в информационных страницах, как php файлы подключаются в информационную страницу, всё это уже есть.

Код уже есть, можно в качестве примера использовать.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 months later...

Как правильно указать относительный путь в шеблоне через смарти или пхп?

{include file='templates/vamshop2/inc/general.tpl'} - работает

{include file=$tpl_path.'inc/general.tpl'} - не работает

Ссылка на сообщение
Поделиться на другие сайты

{include file="`$tpl_path`inc/general.menu"} - даёт верный путь, но файл не инклюдится.

<b>Warning</b>: Smarty error: unable to read resource: &quot;templates/vamshop2/inc/general.menu&quot;

templates/vamshop2/inc/general.menu - это именно тот файл

Ссылка на сообщение
Поделиться на другие сайты

у меня только так заработало.

нашёл где-то в сети, что переменные надо в обратные апострофы запихнуть, тогда смарти их нормально выдаст.

вот и получилось.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...