Перейти к содержимому


Фотография
- - - - -

Поиск в том числе и через артикулу jbzoosearch


Сообщений в теме: 62

#51 Den1762

Den1762

Отправлено 13 October 2016 - 05:15

SmetDenis сказал(а) 13 Окт 2016 - 04:03:

Прикрепленные файлы

Все заработало. Не правильно вставлен был код.

 

Спасибо.


  • 0

#52 SmetDenis

SmetDenis

Отправлено 13 October 2016 - 06:02

Den1762 сказал(а) 13 Окт 2016 - 04:15:

Все заработало. Не правильно вставлен был код.

 

Спасибо.

 

Отлично :)


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#53 pavel-ip

pavel-ip

Отправлено 13 October 2016 - 07:54

Спасибо за решение. Работает отлично. Осталось еще прикрутить тизеровские карточки в поиск и будет все как надо!


  • 0

#54 SmetDenis

SmetDenis

Отправлено 13 October 2016 - 08:32

pavel-ip сказал(а) 13 Окт 2016 - 06:54:

Спасибо за решение. Работает отлично. Осталось еще прикрутить тизеровские карточки в поиск и будет все как надо!

 

К сожалению, это только с хаком шаблонов Joomla. Ссылку на маркет я приложил выше.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#55 efemerid

efemerid

Отправлено 13 October 2016 - 16:38

CB9TOIIIA сказал(а) 12 Окт 2016 - 13:49:

 

O4tfZEe4X6k.jpg
 
MlhmXnxaLh8.jpg
 
kjQVW2iORIE.jpg
 
  1. administrator/components/com_zoo/controllers/item.php
 
150 строка примерно:
 
  1.  
  2. if ($search) {
  3. $from .= ' LEFT JOIN '.ZOO_TABLE_SKU.' AS t ON a.id = t.item_id';
  4. $where[] = '(LOWER(a.name) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
  5. . ' OR LOWER(t.value_s) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false)
  6. . ' OR LOWER(a.alias) LIKE '.$this->db->Quote('%'.$this->db->escape($search, true).'%', false) . ')';
  7. $where[] = 't.param_id = \'_sku\'';
  8.  
  9. }
  10.  

или не то?

 

Как вы сделали такой вывод материалов в админке?


  • 1

#56 CB9TOIIIA

CB9TOIIIA

Отправлено 13 October 2016 - 16:46

efemerid сказал(а) 13 Окт 2016 - 15:38:

Как вы сделали такой вывод материалов в админке?

 

хак хаку через кхаку  :) переопределил страницу под заказчика.

 

 

gcEWCterwAk.jpg
 
  1. <?php
  2.  
  3. // no direct access
  4. defined('_JEXEC') or die('Restricted access');
  5.  
  6. // add js
  7. $this->app->document->addScript('assets:js/item.js');
  8. $this->app->jbassets->fancybox();
  9.  
  10. ?>
  11. <style media="screen">
  12. .skudata {
  13. background-color: #3071a9;
  14. padding: 5px;
  15. color: #fff;
  16. display: inline-block;
  17. width: 50px;
  18. }
  19. .valuedata {
  20. background-color: #378137;
  21. width: 80px;
  22. padding: 5px;
  23. color: #fff;
  24. display: inline-block;
  25. }
  26. .numberprod {
  27. background-color: #470b8c;
  28. padding: 2px;
  29. color: #fff;
  30. }
  31. </style>
  32. <script type="text/javascript">
  33. jQuery(function ($) {
  34. $('.popup-item').fancybox({
  35. overlay: {locked: false}
  36. });
  37. });
  38. </script>
  39.  
  40. <form class="items-default" action="<?php echo $this->app->link(); ?>" method="post" name="adminForm" id="adminForm"
  41. accept-charset="utf-8">
  42.  
  43. <?php echo $this->partial('menu'); ?>
  44.  
  45. <div class="box-bottom">
  46.  
  47. <?php if ($this->is_filtered || $this->pagination->total > 0) : ?>
  48.  
  49. <ul class="filter">
  50. <li class="filter-left">
  51. <input type="text" name="search" id="search" value="<?php echo $this->lists['search']; ?>"
  52. class="rounded"/>
  53. <button onclick="this.form.submit();"><?php echo JText::_('Search'); ?></button>
  54. <button
  55. onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_('Reset'); ?></button>
  56. </li>
  57. <?php if ($this->app->joomla->version->isCompatible('3.0')) : ?>
  58. <li class="filter-right">
  59. <?php echo str_replace(array('input-mini', 'size="1"'), '', $this->pagination->getLimitBox()); ?>
  60. </li>
  61. <?php endif ?>
  62. <li class="filter-right">
  63. <?php echo $this->lists['select_category']; ?>
  64. </li>
  65. <li class="filter-right">
  66. <?php echo $this->lists['select_type']; ?>
  67. </li>
  68. <li class="filter-right">
  69. <?php echo $this->lists['select_author']; ?>
  70. </li>
  71. </ul>
  72.  
  73. <?php endif;
  74.  
  75. if ($this->pagination->total > 0) : ?>
  76.  
  77. <table class="list stripe">
  78. <thead>
  79. <tr>
  80. <th class="checkbox">
  81. <input type="checkbox" class="check-all"/>
  82. </th>
  83. <th class="name" colspan="2">
  84. <?php echo $this->app->html->_('grid.sort', 'Name', 'a.name', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  85. </th>
  86. <th class="alias">
  87. <?php echo "<center> link </center>"; ?>
  88. </th>
  89. <th class="jbzoosku">
  90. <center>Арт.</center>
  91. </th>
  92. <th class="jbzooprice">
  93. <center>Цена</center>
  94. </th>
  95. <th class="numberprods">
  96. <center>По каталогу</center>
  97. </th>
  98. <th class="published">
  99. <?php echo $this->app->html->_('grid.sort', 'Published', 'a.state', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  100. </th>
  101. <th class="frontpage">
  102. <?php echo JText::_('Frontpage'); ?>
  103. </th>
  104. <th class="searchable">
  105. <?php echo JText::_('Searchable'); ?>
  106. </th>
  107. <th class="comments" style="display:none">
  108. <?php echo JText::_('Comments'); ?>
  109. </th>
  110. <th class="priority">
  111. <?php echo $this->app->html->_('grid.sort', 'Order Priority', 'a.priority', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  112. </th>
  113. <th class="access" style="display:none">
  114. <?php echo $this->app->html->_('grid.sort', 'Access', 'a.access', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  115. </th>
  116. <th class="author">
  117. <?php echo $this->app->html->_('grid.sort', 'Author', 'a.created_by', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  118. </th>
  119. <th class="date">
  120. <?php echo $this->app->html->_('grid.sort', 'Date', 'a.created', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  121. </th>
  122. <th class="hits" style="display:none">
  123. <?php echo $this->app->html->_('grid.sort', 'Hits', 'a.hits', @$this->lists['order_Dir'], @$this->lists['order']); ?>
  124. </th>
  125. </tr>
  126. </thead>
  127. <tfoot>
  128. <tr>
  129. <td colspan="13">
  130. <?php echo $this->pagination->getListFooter(); ?>
  131. </td>
  132. </tr>
  133. </tfoot>
  134. <tbody>
  135. <?php
  136. $nullDate = $this->app->database->getNullDate();
  137. for ($i = 0, $n = count($this->items); $i < $n; $i++) :
  138.  
  139. $row = $this->items[$i];
  140. $now = $this->app->date->create()->toUnix();
  141. $publish_up = $this->app->date->create($row->publish_up);
  142. $publish_down = $this->app->date->create($row->publish_down);
  143. $offset = $this->app->date->getOffset();
  144. $publish_up->setTimezone(new DateTimeZone($offset));
  145. $publish_down->setTimezone(new DateTimeZone($offset));
  146.  
  147. $img = '';
  148. $alt = '';
  149. if ($now <= $publish_up->toUnix() && $row->state == 1) {
  150. $img = 'publish_y.png';
  151. $alt = JText::_('Published');
  152. } else if (($now <= $publish_down->toUnix() || $row->publish_down == $nullDate) && $row->state == 1) {
  153. $img = 'publish_g.png';
  154. $alt = JText::_('Published');
  155. } else if ($now > $publish_down->toUnix() && $row->state == 1) {
  156. $img = 'publish_r.png';
  157. $alt = JText::_('Expired');
  158. } else if ($row->state == 0) {
  159. $img = 'publish_x.png';
  160. $alt = JText::_('Unpublished');
  161. }
  162.  
  163. if ($row->searchable == 0) {
  164. $search_img = 'publish_x.png';
  165. $search_alt = JText::_('None searchable');
  166. } elseif ($row->searchable == 1) {
  167. $search_img = 'tick.png';
  168. $search_alt = JText::_('Searchable');
  169. }
  170.  
  171. if ($row->frontpage) {
  172. $frontpage_img = 'tick.png';
  173. $frontpage_alt = JText::_('JYES');
  174. } else {
  175. $frontpage_img = 'publish_x.png';
  176. $frontpage_alt = JText::_('JNO');
  177. }
  178.  
  179. $comments_enabled = (int)$row->getParams()->get('config.enable_comments', 1);
  180. $comments_img = $comments_enabled ? 'tick.png' : 'publish_x.png';
  181. $comments_alt = $comments_enabled ? JText::_('Comments enabled') : JText::_('Comments disabled');
  182.  
  183. $times = '';
  184.  
  185. if (isset($row->publish_up)) {
  186. if ($row->publish_up == $nullDate) {
  187. $times .= JText::_('Start: Always');
  188. } else {
  189. $times .= JText::_('Start') . ": " . $publish_up->format('Y-m-d H:i:s', true);
  190. }
  191. }
  192.  
  193. if (isset($row->publish_down)) {
  194. if ($row->publish_down == $nullDate) {
  195. $times .= "<br />" . JText::_('Finish No Expiry');
  196. } else {
  197. $times .= "<br />" . JText::_('Finish') . ": " . $publish_down->format('Y-m-d H:i:s', true);
  198. }
  199. }
  200.  
  201. // author
  202. $author = $row->created_by_alias;
  203. if (!$author) {
  204. if (isset($this->users[$row->created_by])) {
  205. $author = $this->users[$row->created_by]->name;
  206.  
  207. if ($this->app->user->get()->authorise('core.edit', 'com_users')) {
  208. $author = '<a href="' . $this->app->component->users->link(array('task' => 'user.edit', 'layout' => 'edit', 'view' => 'user', 'id' => $row->created_by)) . '" title="' . JText::_('Edit User') . '">' . $author . '</a>';
  209. }
  210. } else {
  211. $author = JText::_('Guest');
  212. }
  213. }
  214. ?>
  215. <tr>
  216. <td class="checkbox">
  217. <input type="checkbox" name="cid[]" value="<?php echo $row->id; ?>"/>
  218. </td>
  219. <td class="icon"></td>
  220. <td class="name">
  221. <span class="editlinktip hasTip"
  222. title="<?php echo JText::_('Edit Item'); ?>::<?php echo $row->name; ?>">
  223. <?php
  224. if ($row->canEdit()) {
  225. echo '<a href="' . $this->app->link(array('controller' => $this->controller, 'changeapp' => $this->application->id, 'task' => 'edit', 'cid[]' => $row->id)) . '">' . $row->name . '</a>';
  226. } else {
  227. echo $row->name;
  228. }
  229. ?>
  230. </span>
  231. <?php
  232. $itemUrl = $this->app->route->item($row, false);
  233. $siteUrl = str_replace('administrator/', '', JUri::base());
  234. $item = $this->app->table->item->get($row->id);
  235. $jbprice = $item->getElement('f4483451-befa-4f92-b5bf-e2e9c3e90283');
  236. $numberprod = $item->getElement('d60e15cc-e340-4666-a748-9ee970bf3f5a')->get('value');
  237. $skuData = $jbprice->getList()->current()->get('_sku')->getValue();
  238. $valueData = $jbprice->getList()->current()->get('_value')->getValue();
  239. ?>
  240. <a href="<?php echo $siteUrl . $itemUrl; ?>&tmpl=component&jbquickview=full" class="popup-item" title=""
  241. data-fancybox-type="iframe">
  242. <em class="icon-out-2"></em>
  243. </a>
  244. </td>
  245. <td class="alias">
  246. <?php echo '<a target="_blank" href="/item/'.$row->alias.'.html"><center> <em class="icon-out-2"></em> </center></a>' ?>
  247. </td>
  248. <td class="jbzoosku" style="text-align:center; width: 80px;" >
  249. <?php
  250.  
  251. echo "<span class='skudata'>".$skuData."</span>";
  252.  
  253. ?>
  254. </td>
  255. <td class="jbzooprice" style="text-align:center; width: 100px;" >
  256. <?php
  257. echo "<span class='valuedata'>".$valueData."</span>";
  258.  
  259.  
  260. ?>
  261. </td>
  262. <td class="numberprod" style="text-align:center; width: 140px;" >
  263. <?php
  264. echo "<span class='numberprod'>".$numberprod."</span>";
  265.  
  266. ?>
  267. </td>
  268. <td class="published">
  269. <span class="editlinktip hasTip"
  270. title="<?php echo JText::_('Publish Information'); ?>::<?php echo $times; ?>">
  271. <?php if ($row->canEditState()) : ?>
  272. <a href="#" rel="task-<?php echo $row->state ? 'unpublish' : 'publish'; ?>">
  273. <img src="<?php echo $this->app->path->url('assets:images/' . $img); ?>" width="16"
  274. height="16" border="0" alt="<?php echo $alt; ?>"/>
  275. </a>
  276. <?php else: ?>
  277. <img src="<?php echo $this->app->path->url('assets:images/' . $img); ?>" width="16"
  278. height="16" border="0" alt="<?php echo $alt; ?>"/>
  279. <?php endif; ?>
  280. </span>
  281. </td>
  282. <td class="frontpage">
  283. <?php if ($row->canManageFrontpage()) : ?>
  284. <a href="#" rel="task-<?php echo 'toggleFrontpage'; ?>"
  285. title="<?php echo JText::_('Toggle frontpage state'); ?>">
  286. <img src="<?php echo $this->app->path->url('assets:images/' . $frontpage_img); ?>"
  287. width="16" height="16" border="0" alt="<?php echo $frontpage_alt; ?>"/>
  288. </a>
  289. <?php else: ?>
  290. <img src="<?php echo $this->app->path->url('assets:images/' . $frontpage_img); ?>" width="16"
  291. height="16" border="0" alt="<?php echo $frontpage_alt; ?>"/>
  292. <?php endif; ?>
  293. </td>
  294. <td class="searchable">
  295. <?php if ($row->canEdit()) : ?>
  296. <a href="#" rel="task-<?php echo $row->searchable ? 'makenonesearchable' : 'makesearchable'; ?>"
  297. title="<?php echo JText::_('Edit searchable state'); ?>">
  298. <img src="<?php echo $this->app->path->url('assets:images/' . $search_img); ?>" width="16"
  299. height="16" border="0" alt="<?php echo $search_alt; ?>"/>
  300. </a>
  301. <?php else: ?>
  302. <img src="<?php echo $this->app->path->url('assets:images/' . $search_img); ?>" width="16"
  303. height="16" border="0" alt="<?php echo $search_alt; ?>"/>
  304. <?php endif; ?>
  305. </td>
  306. <td class="comments" style="display:none">
  307. <?php if ($row->canEdit()) : ?>
  308. <a href="#" rel="task-<?php echo $comments_enabled ? 'disablecomments' : 'enablecomments'; ?>"
  309. title="<?php echo JText::_('Enable/Disable comments'); ?>">
  310. <img src="<?php echo $this->app->path->url('assets:images/' . $comments_img); ?>" width="16"
  311. height="16" border="0" alt="<?php echo $comments_alt; ?>"/>
  312. </a>
  313. <?php else: ?>
  314. <img src="<?php echo $this->app->path->url('assets:images/' . $comments_img); ?>" width="16"
  315. height="16" border="0" alt="<?php echo $comments_alt; ?>"/>
  316. <?php endif; ?>
  317. </td>
  318. <td class="priority">
  319. <?php if ($row->canEdit()) : ?>
  320. <span class="minus"></span>
  321. <input type="text" class="value" value="<?php echo $row->priority; ?>" size="5"
  322. name="priority[<?php echo $row->id; ?>]"/>
  323. <span class="plus"></span>
  324. <?php else: ?>
  325. <input type="text" class="value" value="<?php echo $row->priority; ?>" size="5"
  326. name="priority[<?php echo $row->id; ?>]" disabled/>
  327. <?php endif; ?>
  328. </td>
  329. <td class="access" style="display:none">
  330. <span><?php echo JText::_($this->app->zoo->getGroup($row->access)->name); ?></span>
  331. </td>
  332. <td class="author">
  333. <?php echo $author; ?>
  334. </td>
  335. <td class="date">
  336. <?php echo $this->app->html->_('date', $row->created, JText::_('DATE_FORMAT_LC4'), $this->app->date->getOffset()); ?>
  337. </td>
  338. <td class="hits" style="display:none">
  339. <?php echo $row->hits ?>
  340. </td>
  341. </tr>
  342. <?php endfor; ?>
  343. </tbody>
  344. </table>
  345.  
  346. <?php
  347. elseif ($this->is_filtered) :
  348.  
  349. $title = JText::_('SEARCH_NO_ITEMS') . '!';
  350. $message = null;
  351. echo $this->partial('message', compact('title', 'message'));
  352.  
  353. else :
  354.  
  355. $title = JText::_('NO_ITEMS_YET') . '!';
  356. $message = JText::_('ITEM_MANAGER_DESCRIPTION');
  357. echo $this->partial('message', compact('title', 'message'));
  358.  
  359. endif;
  360. ?>
  361.  
  362. </div>
  363.  
  364. <input type="hidden" name="controller" value="<?php echo $this->controller; ?>"/>
  365. <input type="hidden" name="task" value=""/>
  366. <input type="hidden" name="boxchecked" value="0"/>
  367. <input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>"/>
  368. <input type="hidden" name="filter_order_Dir" value="<?php echo $this->lists['order_Dir']; ?>"/>
  369. <input type="hidden" name="changeapp" value="<?php echo $this->application->id; ?>"/>
  370. <?php echo $this->app->html->_('form.token'); ?>
  371.  
  372. </form>
  373.  
  374. <script type="text/javascript">
  375. jQuery(function ($) {
  376. $('#adminForm').BrowseItems();
  377. });
  378. </script>
  379.  
  380. <?php echo ZOO_COPYRIGHT;
  381.  

  • 2

#57 Tunga

Tunga

Отправлено 13 October 2016 - 17:17

SmetDenis сказал(а) 13 Окт 2016 - 05:02:

Отлично :)

Спасибо Денис!!!

Спустя два года мы все таки побороли этот джумловский поиск)


  • 2

JBZoo это круто!


#58 mkm-nn

mkm-nn

Отправлено 20 October 2016 - 08:00

это круто! а когда в самой JBZoo заработает поиск по артиклу.


  • 0

#59 SmetDenis

SmetDenis

Отправлено 20 October 2016 - 09:18

mkm-nn сказал(а) 20 Окт 2016 - 07:00:

это круто! а когда в самой JBZoo заработает поиск по артиклу.

 

Уже включено в v2.3.0


  • 2
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#60 mkm-nn

mkm-nn

Отправлено 20 October 2016 - 10:59

SmetDenis сказал(а) 20 Окт 2016 - 08:18:

Уже включено в v2.3.0

Обновил ,ввел артикул в  2colomns результат. К сожалению, по вашему запросу ничего не найдено.


  • 0




Click to return to top of page in style!