KoVaLsKy 59 Опубликовано 2 марта, 2012 Автор Жалоба Share Опубликовано 2 марта, 2012 // show the articles of a specified author if (isset($_GET['authors_id'])) { $listing_sql = "select a.articles_id, a.authors_id, a.articles_date_added, ad.articles_name, ad.articles_head_desc_tag, au.authors_name, td.topics_name, a2t.topics_id from " . TABLE_ARTICLES . " a left join " . TABLE_AUTHORS . " au on a.authors_id = au.authors_id, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and a.articles_status = '1' and au.authors_id = '" . (int)$_GET['authors_id'] . "' and a.articles_id = a2t.articles_id and ad.articles_id = a2t.articles_id and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and td.language_id = '" . (int)$_SESSION['languages_id'] . "' order by a.sort_order, ad.articles_name"; } else { $listing_sql = "select a.articles_id, a.authors_id, a.articles_date_added, ad.articles_name, ad.articles_head_desc_tag, au.authors_name, td.topics_name, a2t.topics_id from " . TABLE_ARTICLES . " a left join " . TABLE_AUTHORS . " au on a.authors_id = au.authors_id, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and a.articles_status = '1' and a.articles_id = a2t.articles_id and ad.articles_id = a2t.articles_id and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and td.language_id = '" . (int)$_SESSION['languages_id'] . "' and a2t.topics_id = '" . (int)$current_topic_id . "' order by a.sort_order, ad.articles_name"; } } else { $listing_sql = "select a.articles_id, a.articles_date_added, a.articles_date_available, ad.articles_name, ad.articles_head_desc_tag, ad.articles_viewed, au.authors_id, au.authors_name, td.topics_id, td.topics_name from " . TABLE_ARTICLES . " a left join " . TABLE_AUTHORS . " au on a.authors_id = au.authors_id, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id, " . TABLE_ARTICLES_DESCRIPTION . " ad where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and a.articles_id = a2t.articles_id and a.articles_status = '1' and a.articles_id = ad.articles_id and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and td.language_id = '" . (int)$_SESSION['languages_id'] . "' ORDER BY IF (`a`.`sort_order`,`a`.`articles_date_available`, `a`.`articles_date_added`) DESC"; } if ($_GET['akeywords'] != ""){ $_GET['akeywords'] = urldecode($_GET['akeywords']); if (isset($_GET['description'])) { $listing_sql = "select ad.articles_name, a.articles_date_added, a.articles_date_available, a.articles_id, ad.articles_description from " . TABLE_ARTICLES_DESCRIPTION . " ad inner join " . TABLE_ARTICLES . " a on ad.articles_id = a.articles_id where a.articles_status = '1' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and (ad.articles_name like '%" . $_GET['akeywords'] . "%' or ad.articles_description like '%" . $_GET['akeywords'] . "%' or ad.articles_head_desc_tag like '%" . $_GET['akeywords'] . "%' or ad.articles_head_keywords_tag like '%" . $_GET['akeywords'] . "%' or ad.articles_head_title_tag like '%" . $_GET['akeywords'] . "%') order by ad.articles_name ASC"; } else { $listing_sql = "select ad.articles_name, a.articles_date_added, a.articles_date_available, a.articles_id, ad.articles_description from " . TABLE_ARTICLES_DESCRIPTION . " ad inner join " . TABLE_ARTICLES . " a on ad.articles_id = a.articles_id where a.articles_status='1' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and (ad.articles_name like '%" . $_GET['akeywords'] . "%' or ad.articles_head_desc_tag like '%" . $_GET['akeywords'] . "%' or ad.articles_head_keywords_tag like '%" . $_GET['akeywords'] . "%' or ad.articles_head_title_tag like '%" . $_GET['akeywords'] . "%') order by a.sort_order, ad.articles_name ASC"; } } $articles_split = new splitPageResults($listing_sql, $_GET['page'], MAX_ARTICLES_PER_PAGE); if (($articles_split->number_of_rows > 0)) { $vamTemplate->assign('NAVIGATION_BAR', TEXT_RESULT_PAGE.' '.$articles_split->display_links(MAX_DISPLAY_PAGE_LINKS, vam_get_all_get_params(array ('page', 'info', 'x', 'y')))); $vamTemplate->assign('NAVIGATION_BAR_PAGES', $articles_split->display_count(TEXT_DISPLAY_NUMBER_OF_ARTICLES)); } $module_content = ''; if ($articles_split->number_of_rows > 0) { $vamTemplate->assign('no_articles', 'false'); $articles_query = vam_db_query($articles_split->sql_query); while ($articles = vam_db_fetch_array($articles_query)) { [/CODE] Отсюда копать? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 марта, 2012 Жалоба Share Опубликовано 2 марта, 2012 Ну да. Бери свой рабочий код, что у тебя был, только меняй в нём sql запрос и поставляй значение topics_id Был же рабочий код вывода статей, вот его и используй. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 марта, 2012 Автор Жалоба Share Опубликовано 2 марта, 2012 Ок. спасибо. буду ломать дальше голову))))) Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 2 марта, 2012 Автор Жалоба Share Опубликовано 2 марта, 2012 $sql = "select distinct ax.articles_id, ad.articles_name, ad.articles_description, a.articles_last_modified from " . TABLE_ARTICLES_XSELL . " ax LEFT JOIN ".TABLE_ARTICLES." a USING(articles_id) LEFT JOIN " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and and a.articles_id = a2t.articles_id and ad.articles_id = a2t.articles_id andad USING(articles_id) where ax.xsell_id = '" . (int)$_GET['products_id'] . "' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and a2t.topics_id = '2' and a.articles_status = '1' order by a.articles_last_modified"; [/CODE] как то так, но ругается... не подскажешь где накосячил? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 3 марта, 2012 Жалоба Share Опубликовано 3 марта, 2012 Прицепи свой php и html код шаблона, а так же как он подключаеся на странице карточки товара, т.е. весь код, что б я мог тоже попробовать. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 3 марта, 2012 Автор Жалоба Share Опубликовано 3 марта, 2012 php <?php $module = new vamTemplate; $module->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/'); $sql = "select distinct ax.articles_id, ad.articles_name, ad.articles_description, a.articles_last_modified from " . TABLE_ARTICLES_XSELL . " ax LEFT JOIN ".TABLE_ARTICLES." a USING(articles_id) LEFT JOIN " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and and a.articles_id = a2t.articles_id and ad.articles_id = a2t.articles_id andad USING(articles_id) where ax.xsell_id = '" . (int)$_GET['products_id'] . "' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and a2t.topics_id = '2' and a.articles_status = '1' order by a.articles_last_modified"; $row = 0; $module_content = array (); $query = vamDBquery($sql); while ($one = vam_db_fetch_array($query,true)) { $SEF_parameter = ''; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $SEF_parameter = '&headline='.vam_cleanName($one['articles_name']); $module_content[]=array( 'ARTICLES_NAME' => $one['articles_name'], 'ARTICLES_DESCRIPTOIN' => $one['articles_description'], 'ARTICLES_URL' => vam_href_link(FILENAME_ARTICLE_INFO, 'articles_id=' . $one['articles_id'] . $SEF_parameter), ); } if (sizeof($module_content) > 0) { $module->assign('language', $_SESSION['language']); $module->assign('module_content',$module_content); // set cache ID if (!CacheCheck()) { $module->caching = 0; $module= $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html'); } else { $module->caching = 1; $module->cache_lifetime=CACHE_LIFETIME; $module->cache_modified_check=CACHE_CHECK; $module = $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html',$cache_id); } $info->assign('MODULE_product_articles', $module); } ?> [/CODE] html модуля [CODE] {config_load file="$language/lang_$language.conf" section="boxes"} {foreach name=aussen item=module_data from=$module_content} <div class="page"> <b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b> <div class="pageItem"> <dt class="itemNews"> </dt> <dd class="itemNews"> <strong><a href="{$module_data.ARTICLES_URL}">{$module_data.ARTICLES_NAME}</a></strong> </dd> <dd class="itemNews"> {$module_data.ARTICLES_DESCRIPTOIN} </dd> <div class="clear"></div> </div> <b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b> </div> {/foreach} <div class="clear"></div> <p></p> html кусок из prodact_info.html <!-- Применение--> {if $MODULE_product_articles != ''} <div class="tabbertab"> <h2>Применение</h2> <p>{$MODULE_product_articles}</p> <div class="clear"></div> </div> {/if} <!-- Применение--> [/code] сделан через вкладки Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 3 марта, 2012 Жалоба Share Опубликовано 3 марта, 2012 Вот такой код ведь должен работать: <?php $module = new vamTemplate; $module->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/'); $sql = "select a.articles_id, a.authors_id, a.articles_date_added, ad.articles_name, ad.articles_head_desc_tag, au.authors_name, td.topics_name, a2t.topics_id from " . TABLE_ARTICLES . " a left join " . TABLE_AUTHORS . " au on a.authors_id = au.authors_id, " . TABLE_ARTICLES_DESCRIPTION . " ad, " . TABLE_ARTICLES_TO_TOPICS . " a2t left join " . TABLE_TOPICS_DESCRIPTION . " td on a2t.topics_id = td.topics_id where (a.articles_date_available IS NULL or to_days(a.articles_date_available) <= to_days(now())) and a.articles_status = '1' and a.articles_id = a2t.articles_id and ad.articles_id = a2t.articles_id and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and td.language_id = '" . (int)$_SESSION['languages_id'] . "' and a2t.topics_id = '1' order by a.sort_order, ad.articles_name"; $row = 0; $module_content = array (); $query = vamDBquery($sql); while ($one = vam_db_fetch_array($query,true)) { $SEF_parameter = ''; if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $SEF_parameter = '&headline='.vam_cleanName($one['articles_name']); $module_content[]=array( 'ARTICLES_NAME' => $one['articles_name'], 'ARTICLES_DESCRIPTOIN' => $one['articles_description'], 'ARTICLES_URL' => vam_href_link(FILENAME_ARTICLE_INFO, 'articles_id=' . $one['articles_id'] . $SEF_parameter), ); } if (sizeof($module_content) > 0) { $module->assign('language', $_SESSION['language']); $module->assign('module_content',$module_content); // set cache ID if (!CacheCheck()) { $module->caching = 0; $module= $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html'); } else { $module->caching = 1; $module->cache_lifetime=CACHE_LIFETIME; $module->cache_modified_check=CACHE_CHECK; $module = $module->fetch(CURRENT_TEMPLATE.'/module/product_articles.html',$cache_id); } $info->assign('MODULE_product_articles', $module); } ?> [/code] Должен статью выводить из категории с id 1 Во всяком случае, sql запрос правильный. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 4 марта, 2012 Автор Жалоба Share Опубликовано 4 марта, 2012 выводит только ссылки и на все статьи раздела laramirra.com/Uhod-za-kozhei-45.html вкладка примеение Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 4 марта, 2012 Жалоба Share Опубликовано 4 марта, 2012 А что должно быть?! sql запрос и выводить статьи из определённого раздела. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 4 марта, 2012 Автор Жалоба Share Опубликовано 4 марта, 2012 ох.... Выводить те же самые прикрепленные к товарам статьи но не из всех разделов, а только из одного. Ведь порой нужно что бы на странице с товарам была определнная статья, а остальные статьи так.... второстепенно. Т.е я в админке наприкрепляю к одному товару 10 статей, а на странице товара выводились только из определенного раздела, с определенным id Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 4 марта, 2012 Автор Жалоба Share Опубликовано 4 марта, 2012 А что должно быть?! sql запрос и выводить статьи из определённого раздела. У меня выводятся только ссылки на ВСЕ статьи из данного раздела, да же не прикрепленные к товару Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 марта, 2012 Жалоба Share Опубликовано 5 марта, 2012 Я конкретный sql запрос не подскажу. Смысл в том, что нужно в запрос добавить через left join articles_to_topics таблицы, что б выводились только статьи из нужного раздела. Опять же, есть ведь примеры sql запроса вывода из определённой категории и есть пример запроса только прицепленных к товару статей, вот и нужно просто условие перенести из первого запроса во второй. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 марта, 2012 Автор Жалоба Share Опубликовано 6 марта, 2012 Саш, а что за приставки в запросе a. au. td. и т.д Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 марта, 2012 Автор Жалоба Share Опубликовано 6 марта, 2012 Саш $sql = "select distinct ax.articles_id, ad.articles_name, a.articles_last_modified, a2t.topics_id from " . TABLE_ARTICLES_XSELL . " ax LEFT JOIN ".TABLE_ARTICLES." a USING(articles_id) LEFT JOIN " . TABLE_ARTICLES_DESCRIPTION . " ad USING(articles_id) LEFT JOIN " . TABLE_ARTICLES_TO_TOPICS . " a2t USING(articles_id) where ax.xsell_id = '" . (int)$_GET['products_id'] . "' and ad.language_id = '" . (int)$_SESSION['languages_id'] . "' and a2t.topics_id = '2' and a.articles_status = '1' order by a.articles_last_modified"; [/CODE] Добавил LEFT JOIN и т.д Выводится действительно как и нужно статья, лежащая в нужном разделе, прикрепленная как и должно быть НО Только ссылка не нее. Хотя я добавил только вот [CODE] LEFT JOIN " . TABLE_ARTICLES_TO_TOPICS . " a2t USING(articles_id) и and a2t.topics_id = '2' [/code] т.е описание (текст самой статьи) куда то подевался Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 марта, 2012 Жалоба Share Опубликовано 6 марта, 2012 Так нужно наверное добавить в sql запрос описания, т.е. ad.articles_description ad. и т.д. это алиасы таблиц. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 марта, 2012 Автор Жалоба Share Опубликовано 6 марта, 2012 Агаг... нет просто я очень плохо в SQL рабзираюсь и вроде по логике думаю, что выводилось до этого, будет и тут выводиться. ad.articles_description так же через LEFT JOIN ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 марта, 2012 Жалоба Share Опубликовано 6 марта, 2012 Это добавить через запятую после ad.articles_name И наверное не лишним ведь будет взять книжку по sql, что б хотя бы основы понимать, т.е. как запросы строятся. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 марта, 2012 Автор Жалоба Share Опубликовано 6 марта, 2012 да, ничего не надо было больше Огромное тебе спасибо Саш!!! а про SQL я уже сижу учу))) вот как раз взялся учить, получилось... Учусь по видеоурокам Е.Попова Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 марта, 2012 Жалоба Share Опубликовано 6 марта, 2012 Не за что. Лучше взять какую-нибудь книжку, например от издательства O'Reilly Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 марта, 2012 Автор Жалоба Share Опубликовано 6 марта, 2012 нет серьезно спасибо. натерпелся ты моих ламерских вопросов по незнанке. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 марта, 2012 Жалоба Share Опубликовано 6 марта, 2012 Хорошо, что разобрались в итоге. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения