@@ -173,16 +173,6 @@ public function getCurrenCategoryKey()
173
173
return $ this ->_currentCategoryKey ;
174
174
}
175
175
176
- /**
177
- * Get catagories of current store
178
- *
179
- * @return \Magento\Framework\Data\Tree\Node\Collection
180
- */
181
- public function getStoreCategories ()
182
- {
183
- return $ this ->_catalogCategory ->getStoreCategories ();
184
- }
185
-
186
176
/**
187
177
* Retrieve child categories of current category
188
178
*
@@ -229,161 +219,6 @@ public function getCategoryUrl($category)
229
219
return $ url ;
230
220
}
231
221
232
- /**
233
- * Return item position representation in menu tree
234
- *
235
- * @param int $level
236
- * @return string
237
- */
238
- protected function _getItemPosition ($ level )
239
- {
240
- if ($ level == 0 ) {
241
- $ zeroLevelPosition = isset (
242
- $ this ->_itemLevelPositions [$ level ]
243
- ) ? $ this ->_itemLevelPositions [$ level ] + 1 : 1 ;
244
- $ this ->_itemLevelPositions = [];
245
- $ this ->_itemLevelPositions [$ level ] = $ zeroLevelPosition ;
246
- } elseif (isset ($ this ->_itemLevelPositions [$ level ])) {
247
- $ this ->_itemLevelPositions [$ level ]++;
248
- } else {
249
- $ this ->_itemLevelPositions [$ level ] = 1 ;
250
- }
251
-
252
- $ position = [];
253
- for ($ i = 0 ; $ i <= $ level ; $ i ++) {
254
- if (isset ($ this ->_itemLevelPositions [$ i ])) {
255
- $ position [] = $ this ->_itemLevelPositions [$ i ];
256
- }
257
- }
258
- return implode ('- ' , $ position );
259
- }
260
-
261
- /**
262
- * Render category to html
263
- *
264
- * @param Category $category
265
- * @param int $level Nesting level number
266
- * @param boolean $isLast Whether ot not this item is last, affects list item class
267
- * @param boolean $isFirst Whether ot not this item is first, affects list item class
268
- * @param boolean $isOutermost Whether ot not this item is outermost, affects list item class
269
- * @param string $outermostItemClass Extra class of outermost list items
270
- * @param string $childrenWrapClass If specified wraps children list in div with this class
271
- * @param boolean $noEventAttributes Whether ot not to add on* attributes to list item
272
- * @return string
273
- */
274
- protected function _renderCategoryMenuItemHtml (
275
- $ category ,
276
- $ level = 0 ,
277
- $ isLast = false ,
278
- $ isFirst = false ,
279
- $ isOutermost = false ,
280
- $ outermostItemClass = '' ,
281
- $ childrenWrapClass = '' ,
282
- $ noEventAttributes = false
283
- ) {
284
- if (!$ category ->getIsActive ()) {
285
- return '' ;
286
- }
287
-
288
- // get all children
289
- if ($ this ->flatState ->isAvailable ()) {
290
- $ children = (array )$ category ->getChildrenNodes ();
291
- } else {
292
- $ children = $ category ->getChildren ();
293
- }
294
-
295
- // select active children
296
- $ activeChildren = [];
297
- foreach ($ children as $ child ) {
298
- if ($ child ->getIsActive ()) {
299
- $ activeChildren [] = $ child ;
300
- }
301
- }
302
-
303
- $ activeChildrenCount = count ($ activeChildren );
304
- $ hasActiveChildren = $ activeChildrenCount > 0 ;
305
-
306
- // prepare list item html classes
307
- $ classes = [];
308
- $ classes [] = 'level ' . $ level ;
309
- $ classes [] = 'nav- ' . $ this ->_getItemPosition ($ level );
310
- if ($ this ->isCategoryActive ($ category )) {
311
- $ classes [] = 'active ' ;
312
- }
313
-
314
- $ linkClass = '' ;
315
- if ($ isOutermost && $ outermostItemClass ) {
316
- $ classes [] = $ outermostItemClass ;
317
- $ linkClass = ' class=" ' . $ outermostItemClass . '" ' ;
318
- }
319
- if ($ isFirst ) {
320
- $ classes [] = 'first ' ;
321
- }
322
- if ($ isLast ) {
323
- $ classes [] = 'last ' ;
324
- }
325
- if ($ hasActiveChildren ) {
326
- $ classes [] = 'parent ' ;
327
- }
328
-
329
- // prepare list item attributes
330
- $ attributes = [];
331
- if (count ($ classes ) > 0 ) {
332
- $ attributes ['class ' ] = implode (' ' , $ classes );
333
- }
334
- if ($ hasActiveChildren && !$ noEventAttributes ) {
335
- $ attributes ['onmouseover ' ] = 'toggleMenu(this,1) ' ;
336
- $ attributes ['onmouseout ' ] = 'toggleMenu(this,0) ' ;
337
- }
338
-
339
- // assemble list item with attributes
340
- $ htmlLi = '<li ' ;
341
- foreach ($ attributes as $ attrName => $ attrValue ) {
342
- $ htmlLi .= ' ' . $ attrName . '=" ' . str_replace ('" ' , '\" ' , $ attrValue ) . '" ' ;
343
- }
344
- $ htmlLi .= '> ' ;
345
-
346
- $ html = [];
347
- $ html [] = $ htmlLi ;
348
-
349
- $ html [] = '<a href=" ' . $ this ->getCategoryUrl ($ category ) . '" ' . $ linkClass . '> ' ;
350
- $ html [] = '<span> ' . $ this ->escapeHtml ($ category ->getName ()) . '</span> ' ;
351
- $ html [] = '</a> ' ;
352
-
353
- // render children
354
- $ htmlChildren = '' ;
355
- $ j = 0 ;
356
- foreach ($ activeChildren as $ child ) {
357
- $ htmlChildren .= $ this ->_renderCategoryMenuItemHtml (
358
- $ child ,
359
- $ level + 1 ,
360
- $ j == $ activeChildrenCount - 1 ,
361
- $ j == 0 ,
362
- false ,
363
- $ outermostItemClass ,
364
- $ childrenWrapClass ,
365
- $ noEventAttributes
366
- );
367
- $ j ++;
368
- }
369
- if (!empty ($ htmlChildren )) {
370
- if ($ childrenWrapClass ) {
371
- $ html [] = '<div class=" ' . $ childrenWrapClass . '"> ' ;
372
- }
373
- $ html [] = '<ul class="level ' . $ level . '"> ' ;
374
- $ html [] = $ htmlChildren ;
375
- $ html [] = '</ul> ' ;
376
- if ($ childrenWrapClass ) {
377
- $ html [] = '</div> ' ;
378
- }
379
- }
380
-
381
- $ html [] = '</li> ' ;
382
-
383
- $ html = implode ("\n" , $ html );
384
- return $ html ;
385
- }
386
-
387
222
/**
388
223
* Enter description here...
389
224
*
@@ -394,107 +229,6 @@ public function getCurrentCategory()
394
229
return $ this ->_catalogLayer ->getCurrentCategory ();
395
230
}
396
231
397
- /**
398
- * Enter description here...
399
- *
400
- * @return string
401
- */
402
- public function getCurrentCategoryPath ()
403
- {
404
- if ($ this ->getCurrentCategory ()) {
405
- return explode (', ' , $ this ->getCurrentCategory ()->getPathInStore ());
406
- }
407
- return [];
408
- }
409
-
410
- /**
411
- * Enter description here...
412
- *
413
- * @param Category $category
414
- * @return string
415
- */
416
- public function drawOpenCategoryItem ($ category )
417
- {
418
- $ html = '' ;
419
- if (!$ category ->getIsActive ()) {
420
- return $ html ;
421
- }
422
-
423
- $ html .= '<li ' ;
424
-
425
- if ($ this ->isCategoryActive ($ category )) {
426
- $ html .= ' class="active" ' ;
427
- }
428
-
429
- $ html .= '> ' . "\n" ;
430
- $ html .= '<a href=" ' . $ this ->getCategoryUrl (
431
- $ category
432
- ) . '"> ' . '<span> ' . $ this ->escapeHtml (
433
- $ category ->getName ()
434
- ) . '</span></a> ' . "\n" ;
435
-
436
- if (in_array ($ category ->getId (), $ this ->getCurrentCategoryPath ())) {
437
- $ children = $ category ->getChildren ();
438
- $ hasChildren = $ children && $ children ->count ();
439
-
440
- if ($ hasChildren ) {
441
- $ htmlChildren = '' ;
442
- foreach ($ children as $ child ) {
443
- $ htmlChildren .= $ this ->drawOpenCategoryItem ($ child );
444
- }
445
-
446
- if (!empty ($ htmlChildren )) {
447
- $ html .= '<ul> ' . "\n" . $ htmlChildren . '</ul> ' ;
448
- }
449
- }
450
- }
451
- $ html .= '</li> ' . "\n" ;
452
-
453
- return $ html ;
454
- }
455
-
456
- /**
457
- * Render categories menu in HTML
458
- *
459
- * @param int $level Level number for list item class to start from
460
- * @param string $outermostItemClass Extra class of outermost list items
461
- * @param string $childrenWrapClass If specified wraps children list in div with this class
462
- * @return string
463
- */
464
- public function renderCategoriesMenuHtml ($ level = 0 , $ outermostItemClass = '' , $ childrenWrapClass = '' )
465
- {
466
- $ activeCategories = [];
467
- foreach ($ this ->getStoreCategories () as $ child ) {
468
- if ($ child ->getIsActive ()) {
469
- $ activeCategories [] = $ child ;
470
- }
471
- }
472
- $ activeCategoriesCount = count ($ activeCategories );
473
- $ hasActiveCategoriesCount = $ activeCategoriesCount > 0 ;
474
-
475
- if (!$ hasActiveCategoriesCount ) {
476
- return '' ;
477
- }
478
-
479
- $ html = '' ;
480
- $ j = 0 ;
481
- foreach ($ activeCategories as $ category ) {
482
- $ html .= $ this ->_renderCategoryMenuItemHtml (
483
- $ category ,
484
- $ level ,
485
- $ j == $ activeCategoriesCount - 1 ,
486
- $ j == 0 ,
487
- true ,
488
- $ outermostItemClass ,
489
- $ childrenWrapClass ,
490
- true
491
- );
492
- $ j ++;
493
- }
494
-
495
- return $ html ;
496
- }
497
-
498
232
/**
499
233
* Return identifiers for produced content
500
234
*
0 commit comments