Функция "Вставить файл" - {ФАЙЛ=test.php} к описанию категории товара Инстант шоп - нужно решение
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
InstantCMS 1.X
#1
11 октября 2018 в 15:34
Привет.
Нужно вставить файл в описание категории товаров, вот таким шорт кодом — {ФАЙЛ=test.php}. Функция аналогична той которая присутствует при создании статьи.
Господа есть ли способ? На форуме не нашел.
Нужно вставить файл в описание категории товаров, вот таким шорт кодом — {ФАЙЛ=test.php}. Функция аналогична той которая присутствует при создании статьи.
Господа есть ли способ? На форуме не нашел.
#2
11 октября 2018 в 15:55
Этот код обрабатывается фильтром "Внешние скрипты"
Вам нужно что бы категории товаров фильтровались
решение тут
#3
11 октября 2018 в 16:08
Этот код обрабатывается фильтром "Внешние скрипты"
Вам нужно что бы категории товаров фильтровались
решение тут
У Вас шоп есть, сможете помочь с выводом?
Если не ошибаюсь то вод вывод категорий — com_inshop_view
<h1 class="con_heading">{$root_cat.title}</h1> {if $cfg.show_subcats && $subcats} <ul class="shop_cat_list category_list mt-15 mb0"> <li class="shop_cat_item category_entry" style="background:url(/images/photos/small/{$cat.config.icon}) no-repeat 12px 12px;"> <a class="con_subcat" href="/shop/{$cat.seolink}">{$cat.title}</a> {if $cat.subcats} <div class="subcats"> {/foreach} </div> {/if} </li> {/foreach} </ul> {/if} {if $root_cat.description} <div class="con_info mt_15">{$root_cat.description}</div> {/if} {if $cfg.show_filter && ($items || $filter)} <div id="filter_box"> <div class="shop_filter_link"> <a class="button" href="javascript:" onclick="$('.shop_filter').toggle()">{$LANG.SHOP_FILTER}</a> {if $filter}Найдено товаров: {$total}{/if} </div> <div class="shop_filter"> <div class="filter_body edit_table"> <form action="/shop/{$root_cat.seolink}" method="post"> <div class="line mt-15"> <strong>{$LANG.SHOP_PRICE}</strong> <input class="price_filter" type="text" name="filter[pfrom]" class="input" value="{$filter.pfrom}" /> — <input class="price_filter" type="text" name="filter[pto]" class="input" value="{$filter.pto}" /> </div> <div class="line"> <strong>{$LANG.SHOP_VENDORS}:</strong> <div> <label> <input type="checkbox" value="{$vendor.id}" name="filter[vendors][]" {if in_array($vendor.id, $filter.vendors)}checked="checked"{/if} /> {$vendor.title} </label> </div> {/foreach} </div> {/if} {if $char.is_filter} <div class="line"> <strong> {$char.title}{if $char.units}, {$char.units}{/if} </strong> {if $char.fieldtype != 'int'} {if $char.values} {if $char.is_filter_many} <div> </div> {/foreach} {else} <select name="filter[{$char.id}]" style="width:100%"> <option value="" {if !$filter[$char.id]}selected="selected"{/if}>{$LANG.SHOP_FILTER_ALL}</option> {/foreach} </select> {/if} {else} <input type="text" name="filter[{$char.id}]" class="input" value="{$filter[$char.id]}" style="width:99%"/> {/if} {else} <input class="price_filter" type="text" name="filter[{$char.id}][from]" class="input" value="{$filter[$char.id].from}" /> — <input class="price_filter" type="text" name="filter[{$char.id}][to]" class="input" value="{$filter[$char.id].to}" /> {/if} </div> {/if} {/foreach} <div class="mt_15"> <input type="submit" value="{$LANG.SHOP_FILTER_SUBMIT}" /> <input type="button" value="Закрыть" onclick="$('.shop_filter').toggle()" /> </div> {if $filter}<div class="mt_15 mlr_15"><input type="button" value="{$LANG.SHOP_FILTER_CANCEL}" onclick="window.location.href='/shop/{$root_cat.seolink}/all'" /></div>{/if} </form> </div> </div> </div> {/if} {if $items} {else} {if $filter} <p class="line">{$LANG.SHOP_ITEMS_NOT_FOUND}</p> {/if} {/if} Выв
Или не в 1 файле править нужно?
Сам пока не сильно вник в это дело))
Сегодня в 01:55
#4
11 октября 2018 в 16:10
шопа нет, но код вставлять в файл frontend.php
#5
11 октября 2018 в 16:19
шопа нет, но код вставлять в файл frontend.php
Вот вывод корневой if (!$seolink){
//Корневая категория
$root_cat = $model->getRootCategory();
$root_cat['title'] = ($menuid > 1? $menutitle: '');
}
А вот весь фАЙЛ -
<?php /*********************************************************************************************/ // // // InstantCMS v1.5 (c) 2009 FREEWARE // // /, info@instantcms.ru // // // // written by InstantCMS Team 2007-2009 // // // // LICENSED BY GNU/GPL v2 // // // /*********************************************************************************************/ function shop(){ global $_LANG; global $_CFG; //подключим нужные классы $inConf = cmsConfig::getInstance(); $inCore = cmsCore::getInstance(); //ядро $inPage = cmsPage::getInstance(); //страница $inDB = cmsDatabase::getInstance(); //база данных $inUser = cmsUser::getInstance(); //пользователь //получим ID текущего пункта меню $menuid = $inCore->menuId(); $menutitle = $inCore->menuTitle(); if ($menuid == 1){ $menutitle = ''; } //загружаем модель $inCore->loadModel('shop'); $model = new cms_model_shop(); //загрузим конфиг компонента $cfg = $model->getConfig(); //получаем входные параметры $id = $inCore->request('id', 'int', 0); $seolink = $inCore->request('seolink', 'str', ''); $do = $inCore->request('do', 'str', 'view'); $page = $inCore->request('page', 'int', 1); $perpage = $cfg['perpage']; //Подключаем CSS к странице $inPage->addHeadCSS('templates/'.$inConf->template.'/css/inshop.css'); $inPage->addPathway($inCore->getComponentTitle(), '/shop'); //============================================================================// //============================================================================// // // ПРОСМОТР КАТЕГОРИИ МАГАЗИНА // if ($do=='view'){ // -------- получаем категорию -------------- if (!$seolink){ //Корневая категория $root_cat = $model->getRootCategory(); $root_cat['title'] = ($menuid > 1 ? $menutitle : ''); } if ($seolink){ //Внутренняя (не корневая) категория $root_cat = $model->getCategoryByLink($seolink); $path_list = $model->getCategoryPath($root_cat['NSLeft'], $root_cat['NSRight']); } //Если не найдена - 404 if (!$root_cat){ cmsCore::error404(); } if (!$root_cat['published']) { cmsCore::error404(); } $_SESSION['inshop_last_url'] = $_SERVER['REQUEST_URI']; $_SESSION['inshop_last_cat_id'] = $root_cat['id']; //Ставим заголовки страницы if ($root_cat['pagetitle']) { $inPage->setTitle($root_cat['pagetitle']) ; } else {$inPage->setTitle($root_cat['title']);} //SET META KEYWORDS AND DESCRIPTION $inPage->setKeywords($root_cat['meta_keys']); $inPage->setDescription($root_cat['meta_desc']); //Если у категории есть родители, выводим их в глубиномере if ($path_list){ foreach($path_list as $pcat){ $inPage->addPathway($pcat['title'], '/shop/'.$pcat['seolink']); } } //получаем подкатегории $subcats = $model->getSubCats($root_cat['id']); //получаем производителей для фильтра $vendors = $model->getCatVendors($root_cat['id']); //получаем хар-ки категории $chars = $model->getCatChars($root_cat['id']); // ------- очищаем фильтры других категорий ----------------- foreach ($_SESSION['shop_filters'] as $f_cat_id=>$f){ if ($f_cat_id != $root_cat['id']){ } } // if(!mb_strpos($_SERVER['REQUEST_URI'],'page')) { // unset($_SESSION['shop_filters'][$root_cat['id']]); // } } // ------- получаем значения фильтров ----------------- if($inCore->inRequest('all')) { $inCore->redirect('/shop/'.$root_cat['seolink']); } $filter_str = $_SESSION['shop_filters'][$root_cat['id']]; if ($filter_str){ $filter = $model->parseFilterString($filter_str); } if ($inCore->inRequest('filter')) { $filter = $inCore->request('filter', 'array'); } foreach($filter as $key=>$val){ if ($val && $key){ //производители if ($key == 'vendors'){ $model->whereVendorIn($val); continue; } //характеристика с одним значением (select) switch($key){ case 'pfrom': $model->wherePriceFrom($val); break; case 'pto': $model->wherePriceTo($val); break; default: if ($chars[$key]['values']){ $model->whereCharIs($key, $val); } else { $model->whereCharLike($key, $val);
скорее всего фильтровать $root_cat
в строке 77
$inCore->processFilters($root_cat['description']);
если не получится попробуй методом научного тыка.
#7
15 октября 2018 в 09:36
Решение для Шопа
Ставим $root_cat['description'] = $inCore->processFilters($root_cat['description']); в 76 строку помог — @chameleon9, спасибо еще раз.
Ну и сам сегодня немного разбирался, нужно было вывести тоже самое но в корневой категории статей, решение — // Выполняем фильтры
$cat['description'] = cmsCore::processFilters($cat['description']); в 82 строку, после кода — // Если корневая категория
Да и чтобы заработало, необходимо заранее в нужное место добавить {ФАЙЛ=file.php}
Ставим $root_cat['description'] = $inCore->processFilters($root_cat['description']); в 76 строку помог — @chameleon9, спасибо еще раз.
Ну и сам сегодня немного разбирался, нужно было вывести тоже самое но в корневой категории статей, решение — // Выполняем фильтры
$cat['description'] = cmsCore::processFilters($cat['description']); в 82 строку, после кода — // Если корневая категория
Да и чтобы заработало, необходимо заранее в нужное место добавить {ФАЙЛ=file.php}