Git Product home page Git Product logo

plugin-magento2's People

Contributors

dannegwork avatar matthewjohnsonboxalino avatar sylvainpaillard avatar tatsuya1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

plugin-magento2's Issues

Search result: broken layered navigation

image

the layered navigation in the search results does not show any price range values, and additionally is missing other defined attributes (like price, size etc).

Category filter is incorrectly rendered and ordered

image

the order of the categories is not in the defined order (compare menu navigation vs layered navigation)

image
"Home" should be replaced with "All Categories" and put on the same level as the selected category ("Nager").

DeltaIndexer not functional in the default setup: the "Update on Save" functionalities seem missing

It seems as if for delta indexing, the required table boxalino_indexer_delta_cl is missing and not setup during the installation (InstallSchema) / upgrade (UpdateSchema) of the extension. additionally, there's no code that monitors changes on the products (i.e. no afterSave plugin/observers ^).

from my understanding of the indexer code, the delta indexer is therefore currently defunct and not working at all.

^ please try not to use mysql triggers - these present massive performance hits when loading lot of data (f.e. during m1 -> m2 product migration and data imports)

Search: Selected Filters: "Back" link for Categories is broken

http://mysite.com/catalogsearch/result/index/?bx_category_id=8&q=futter

image

-> click on "zurück"

1 exception(s):
Exception #0 (Exception): Notice: Trying to get property of non-object in /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131

Exception #0 (Exception): Notice: Trying to get property of non-object in /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131

what is the intent of the "Zurück" link anyway? it is obsolete as there's already the close button (X). can this be removed in a config setting or template override?

Feature request: allow the use of the native Layered Navigation in Search

Boxalino should provide a mode that simulates a native magento Product collection with proper supports the native Layered Navigation filtering.

currently, only manually filter facets are supported which try (but hardly succeed) to replicate the native look & feel. I think it would benefit boxalino greatly if it could be marketed as a drop-in replacement of the default search, and just feed the data into the standard magento search result collections.

Such a mode wold not prevent additional search result enhancements like top filters or even a self-defined left filters like the current implementation if the customer chooses to. It would allow the leveraging of existing magento functionality and extensions.

Our customer currently has 100+ attributes defined on the products that can & should be used in the search results. Duplicating their search-related configurations for the current "boxalino facet filters" is just not feasible.

Errors during compilation in production mode

xxx@devel:/var/www/users/xxx/src/scripts$ ./magento.sh setup:di:compile
Compilation was started.
Interception cache generation... 6/7 [========================>---]  85% 10 mins 314.0 MiBErrors during configuration scanning:
Errors during configuration scanning:
        Thrift\Factory\TProtocolFactory
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TForkingServer.php
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TForkingServer.php
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TServer.php
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TServer.php
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TSimpleServer.php
                Invalid Factory for nonexistent class Thrift\Factory\TProtocol in file /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/Server/TSimpleServer.php
Errors during compilation:
        Boxalino\Intelligence\Block\BxRecommendationBlock
                Incorrect dependency in class Boxalino\Intelligence\Block\BxRecommendationBlock in /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Block/BxRecommendationBlock.php
\Magento\Framework\App\Config\ScopeConfigInterface already exists in context object
\Magento\Framework\Registry already exists in context object

Replace CmsBlock override with a plugin on Filter::filter()

\Magento\Widget\Model\Template\Filter::filter() is the function that is called during a cms block's _toHtml() call with the block's content and can be used in a DI Plugin to avoid having to override the default magento Block class.

the plugin could use beforeFilter() to check the content and set the appropriate bxRecommendation settings.

Search: grouped products are listed without price

image

for this particular search term, the search result page differs vastly from the search preview page. on the preview, multiple products are previewed, whereas on the search result page, only the first product (the one without proper price) is shown, again with broken pricing and no layered navigation:

image

Exception during "indexer:reindex boxalino_indexer"

indexer:reindex boxalino_indexer:

Boxalino Exporter indexer process unknown error:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ce.entity_type_id' in 'where clause', query was: SELECT `ce`.`entity_id`, `ce`.`attribute_id`, `ce`.`value`, `ea`.`attribute_code` FROM `customer_entity_varchar` AS `ce`
 LEFT JOIN `eav_attribute` AS `ea` ON ce.attribute_id = ea.attribute_id WHERE (ce.entity_type_id = 1) AND (ce.entity_id IN (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008)) AND (ce.attribute_id IN('245')) UNION ALL SELECT `ce`.`entity_id`, 18 AS `attribute_id`, `ce`.`email` AS `value`, `ea`.`attribute_code` FROM `customer_entity` AS `ce`
 LEFT JOIN `eav_attribute` AS `ea` ON ea.attribute_id = 18 WHERE (ce.entity_id IN (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008))

BxRecommendationBlock does not recognize category cms block, throws exception

you can configure categories to show products only (default), products + content (description + cms block) or content only (description + cms block). in our case, the main categories do not show products (and no navigation), and the page content is loaded from a cms block, for example:

<p>Bacon ipsum dolor amet rump brisket filet mignon capicola tail biltong, meatball tri-tip tongue picanha. Meatball tail bresaola filet mignon brisket fatback ham porchetta alcatra ham hock pig kielbasa short ribs beef ribs beef.</p>

{{block class="Boxalino\Intelligence\Block\BxRecommendationBlock" template="Boxalino_Intelligence::product/recommendation.phtml" widget="category_new" context="70" title="Recommendation"}}

<p>Bacon ipsum dolor amet rump brisket filet mignon capicola tail biltong, meatball tri-tip tongue picanha. Meatball tail bresaola filet mignon brisket fatback ham porchetta alcatra ham hock pig kielbasa short ribs beef ribs beef.</p>

70 is the category id. having the BxRecommendationBlock inside the linked category cms block results in the following exception:

1 exception(s):
Exception #0 (Exception): no variant provided in choice response for variant id 0

Exception #0 (Exception): no variant provided in choice response for variant id 0
#0 /var/www/users/customer/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php(21): com\boxalino\bxclient\v1\BxChooseResponse->getChoiceIdResponseVariant(0)
#1 /var/www/users/customer/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php(120): com\boxalino\bxclient\v1\BxChooseResponse->getChoiceResponseVariant('navigation')
#2 /var/www/users/customer/src/www/app/code/Boxalino/Intelligence/Helper/P13n/Adapter.php(527): com\boxalino\bxclient\v1\BxChooseResponse->getFacets('navigation')
#3 /var/www/users/customer/src/www/app/code/Boxalino/Intelligence/Block/Slider.php(54): Boxalino\Intelligence\Helper\P13n\Adapter->getFacets()
#4 [internal function]: Boxalino\Intelligence\Block\Slider->getSliderValues()
#5 /var/www/users/customer/src/www/vendor/magento/framework/View/TemplateEngine/Php.php(82): call_user_func_array(Array, Array)
#6 /var/www/users/customer/src/www/app/code/Boxalino/Intelligence/view/frontend/templates/slider.phtml(2): Magento\Framework\View\TemplateEngine\Php->__call('getSliderValues', Array)
#7 /var/www/users/customer/src/www/vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/var/www/users/...')
#8 /var/www/users/customer/src/www/vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Boxalino\Intelligence\Block\Slider), '/var/www/users/...', Array)
#9 /var/www/users/customer/src/www/vendor/magento/framework/View/Element/Template.php(279): Magento\Framework\View\Element\Template->fetchView('/var/www/users/...')
#10 /var/www/users/customer/src/www/vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Framework\View\Element\Template->_toHtml()
#11 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(542): Magento\Framework\View\Element\AbstractBlock->toHtml()
#12 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('catalog.bxSlide...')
#13 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->renderNonCachedElement('catalog.bxSlide...')
#14 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(208): Magento\Framework\View\Layout\Interceptor->___callPlugins('renderNonCached...', Array, Array)
#15 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('catalog.bxSlide...')
#16 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('catalog.bxSlide...', true)
#17 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('catalog.bxSlide...')
#18 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('before.body.end')
#19 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->renderNonCachedElement('before.body.end')
#20 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(208): Magento\Framework\View\Layout\Interceptor->___callPlugins('renderNonCached...', Array, Array)
#21 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('before.body.end')
#22 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('before.body.end', true)
#23 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('before.body.end')
#24 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.wrapper')
#25 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper')
#26 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(208): Magento\Framework\View\Layout\Interceptor->___callPlugins('renderNonCached...', Array, Array)
#27 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.wrapper')
#28 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('page.wrapper', true)
#29 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('page.wrapper')
#30 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('root')
#31 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->renderNonCachedElement('root')
#32 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(208): Magento\Framework\View\Layout\Interceptor->___callPlugins('renderNonCached...', Array, Array)
#33 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('root')
#34 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('root', true)
#35 /var/www/users/customer/src/www/vendor/magento/framework/View/Layout.php(938): Magento\Framework\View\Layout\Interceptor->renderElement('root')
#36 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->getOutput()
#37 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(494): Magento\Framework\View\Layout\Interceptor->___callPlugins('getOutput', Array, Array)
#38 /var/www/users/customer/src/www/vendor/magento/framework/View/Result/Page.php(243): Magento\Framework\View\Layout\Interceptor->getOutput()
#39 /var/www/users/customer/src/www/vendor/magento/framework/View/Result/Layout.php(164): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor))
#40 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#41 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\View\Result\Page\Interceptor->___callParent('renderResult', Array)
#42 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-varnish-...')
#43 /var/www/users/customer/src/www/vendor/magento/module-page-cache/Model/Controller/Result/VarnishPlugin.php(74): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor))
#44 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\Controller\Result\VarnishPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor))
#45 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-builtin-...')
#46 /var/www/users/customer/src/www/vendor/magento/module-page-cache/Model/Controller/Result/BuiltinPlugin.php(67): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor))
#47 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\Controller\Result\BuiltinPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor))
#48 /var/www/users/customer/src/www/var/generation/Magento/Framework/View/Result/Page/Interceptor.php(130): Magento\Framework\View\Result\Page\Interceptor->___callPlugins('renderResult', Array, Array)
#49 /var/www/users/customer/src/www/vendor/magento/framework/App/Http.php(139): Magento\Framework\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#50 /var/www/users/customer/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\App\Http->launch()
#51 /var/www/users/customer/src/www/var/generation/Magento/Framework/App/Http/Interceptor.php(26): Magento\Framework\App\Http\Interceptor->___callPlugins('launch', Array, Array)
#52 /var/www/users/customer/src/www/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch()
#53 /var/www/users/customer/src/www/pub/index.php(42): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#54 {main}

most probably this is due to the missing layered navigation, judging by the exception happening while getting (navigation?) slider values. another reason might be that BxReccommendationBlock does not properly setup the values, as isCmsPage is not set to true when instantiated in such a category cms block: $this->isCmsPage = $request->getModuleName() == 'cms' ? true : false;

Adding the same block multiple times but with different context will always return the same (frist) results

cms page content:

{{block class="Boxalino\Intelligence\Block\BxRecommendationBlock" template="Boxalino_Intelligence::product/recommendation.phtml" widget="category_rec" context="659" title="Category 1"}}

{{block class="Boxalino\Intelligence\Block\BxRecommendationBlock" template="Boxalino_Intelligence::product/recommendation.phtml" widget="category_rec" context="70" title="Category 2"}}

both blocks will show the same 4 products from category 659. it seems that the BxRecommendation class only uses "widget" as array key, thus not actually make two queries.

Exception when searching: undefined field: "products_bit_size"

currently all searches (f.e. /catalogsearch/result/?q=futter) result in the following exception

1 exception(s):
Exception #0 (com\boxalino\p13n\api\thrift\P13nServiceException): java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.p13n.impl.ThriftExceptionConverter.invoke(ThriftExceptionConverter.java:33)
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:480)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:464)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.thrift.server.TServlet.doPost(TServlet.java:83)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at com.boxalino.p13n.web.P13nServlet.service(P13nServlet.java:34)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.common.util.monitoring.RequestMonitorProxy.invokeInternal(RequestMonitorProxy.java:43)
    at com.boxalino.p13n.util.RequestMonitorProxyWithHistory.invoke(RequestMonitorProxyWithHistory.java:53)
    ... 32 more
Caused by: java.lang.RuntimeException: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:58)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:48)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    ... 3 more
Caused by: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:425)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
    at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
    at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:53)
    ... 7 more


Exception #0 (com\boxalino\p13n\api\thrift\P13nServiceException): java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.p13n.impl.ThriftExceptionConverter.invoke(ThriftExceptionConverter.java:33)
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:480)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:464)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.thrift.server.TServlet.doPost(TServlet.java:83)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at com.boxalino.p13n.web.P13nServlet.service(P13nServlet.java:34)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.common.util.monitoring.RequestMonitorProxy.invokeInternal(RequestMonitorProxy.java:43)
    at com.boxalino.p13n.util.RequestMonitorProxyWithHistory.invoke(RequestMonitorProxyWithHistory.java:53)
    ... 32 more
Caused by: java.lang.RuntimeException: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:58)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:48)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    ... 3 more
Caused by: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:425)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
    at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90)
    at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:53)
    ... 7 more

#0 /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/P13nService.php(152): com\boxalino\p13n\api\thrift\P13nService_choose_result->read(Object(Thrift\Protocol\TCompactProtocol))

this seems to be server side - maybe the plugin should fallback gracefully to the magento internal full text search in such cases?

bxRecommendationBlock: ommiting "context" parameter does not set the context properly

when the "context" parameter is not specified in the category cms block, the current logic pulls the category id from the registry, making $context an array.

this results in a later error:
`Fehler beim Filtern der Vorlage: Warning: strlen() expects parameter 1 to be string, array given in /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/Thrift/StringFunc/Core.php on line 36`

it seems to me currently the category scenario expects a single value $context and not an array - changing $context[] = $this->registry->registry('current_category')->getId(); to $context = $this->registry->registry('current_category')->getId(); fixes the problem.

I guess the idea of a category array context would be to allow multiple categories to be selected as context, i.e. something like context="70, 79" and a real solution would therefor fix the issue at a later workflow stage where a string instead of an array is expected.

Add Webservice timeout

currently if the bx webservice is not reachable or too slow, the plugin waits far too long, essentially filling up all available php-fpm and thereafter all apache2/nginx processes and thus crashing the site.

in my opinion: for recommendations anything over 2s and for search anything over 10s should result in an exception with a following fallback (see #45). best would be configurable timeouts.

Searching for SKU fails

SKUs of child products of configured products fail

/catalogsearch/result/?q=40606.01:

image

product page:
/p-g7116458-h-s-kk-conrad-ultra-trense-original/

SKU of child products of grouped products fail

/catalogsearch/result/?q=702455 returns wrong product (SKU 702452) and not the parent product /p-g2267169-leoveties-1kg/

New indexer configuration is incomplete & broken

Boxalino/Intelligence/etc/mview.xml has an invalid configuration

Admin > System > Indexer throws an exception now:

1 exception(s):
Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid XML in file /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/etc/mview.xml:
Element 'view': Duplicate key-sequence ['boxalino_indexer'] in unique identity-constraint 'uniqueViewId'.
Line: 16

Element 'view': Duplicate key-sequence ['boxalino_indexer'] in unique identity-constraint 'uniqueViewId'.
Line: 30

Element 'view': Duplicate key-sequence ['boxalino_indexer'] in unique identity-constraint 'uniqueViewId'.
Line: 44

the reason being that the same indexer is defined 4 times. i think the intention was to define the mview for the additional new indexers added in the latest commits, the ids therefore should be renamed to "boxalino_index_products", "boxalino_index_customers", "boxalino_index_transactions" and their classes/fields corrected.

Indexer definitions are missing in Boxalino/Intelligence/etc/indexers.xml

"boxalino_index_products", "boxalino_index_customers", "boxalino_index_transactions" are missing

Full crons should not be automatically run at midnight

Boxalino/Intelligence/etc/crontab.xml will automatically run a full, product, customer and transaction reindex around midnight. on shops with large user & transaction base this will interfer with regular cron runs in the night - a mid sized shop installation currently takes over 3hrs for 1 full boxalino reindex, now this is doubled...

I suggest do only keep the delta update automatically running in the crontab.xml and advice customers to "manually" run the appropriate boxalino reindexers at a time of their choosing.

Subphrase page layout looks a bit weird

search query was /catalogsearch/result/?q=welches+futter+ist+das+richige%3F

image

also shouldn't that only be shown if there are actually more than 1 subphrase?

Recommendation and topseller product detail blocks are cached and always show the same stuff

all products show the same related products and topseller, in the very same order, even after clearing cache. all products show dog the same dog products...

same for the cart upsell and the cms recommendation blocks.

part of the problem might be: the context used for the bx engine querying is not saved in the blocks cache key. but then again, after clearing the cache I'd expect to see a different set of related products when reloading...

Add Error Handling

during our site development in the last few weeks, there were several moments where there were exceptions thrown inside the boxalino intelligence plugin: bad configurations, unknown bx widget name, network problems, timeouts, webservice errors due to new attributes, webservice errors due to missing attribute values etc. in all these cases, the website was at best severely cripled or not working at all due to missing proper error handling.

the plugin should:

  • define a module operation mode ("production" <-> "development") in the configuration
  • if production mode is set to "production":
    • catch all exceptions and handle them gracefully
    • depending on the exception "gracefully" should mean:
      • fallback to the magento internal functionality (product recommendations, upsell, full text search)
      • or output a user friendly error message instead of the expected block content
      • or silently discard errors for non-vital elements

here's a quick example for the Crossell class:

/**
 * @param bool $execute
 * @return $this|array|null
 */
public function getItems($execute = true){

    if($this->bxHelperData->isCrosssellEnabled()){
        try {
            $config = $this->_scopeConfig->getValue('bxRecommendations/cart', $this->scopeStore);

            $products = array();
            foreach ($this->getQuote()->getAllItems() as $item) {
                $product = $item->getProduct();
                if ($product) {
                    $products[] = $product;
                }
            }

            $choiceId = (isset($config['widget']) && $config['widget'] != "") ? $config['widget'] : 'basket';
            $entity_ids = $this->p13nHelper->getRecommendation(
                $choiceId,
                'basket',
                $config['min'],
                $config['max'],
                $products,
                $execute
            );

            if(!$execute){
                return null;
            }

            if ((count($entity_ids) == 0)) {
                $entity_ids = array(0);
            }

            $items = $this->factory->create()
                ->addFieldToFilter('entity_id', $entity_ids)->addAttributeToSelect('*');
            $items->load();

            foreach ($items as $product) {
                $product->setDoNotUseCategoryId(true);
            }

            return $items;
        }
        catch (\Exception $ex)
        {
            // report
        }
    }
   return parent::getItems();
}

Sorting by price is not working correctly

The smalles price should probably be listed first, and the prices are not sorted correctly.

query /catalogsearch/result/index/?p=2&product_list_order=price&q=futter

image

Exception when browsing category listing in compiled mode with Boxalino_Intelligence installed

Fatal error: Uncaught Error: Cannot instantiate abstract class Magento\Framework\App\Action\AbstractAction in /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:93 
Stack trace: 
#0 /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/Factory/Compiled.php(88): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\\Framewo...', Array) 
#1 /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/Factory/Compiled.php(130): Magento\Framework\ObjectManager\Factory\Compiled->create('Magento\\Framewo...') 
#2 /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/Factory/Compiled.php(67): Magento\Framework\ObjectManager\Factory\Compiled->get('Magento\\Framewo...') 
#3 /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/ObjectManager.php(57): Magento\Framework\ObjectManager\Factory\Compiled->create('Boxalino\\Intell...', Array) 
#4 /var/www/users/xxx/src/www/vendor/magento/framework/View in /var/www/users/xxx/src/www/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php on line 93

Setting Price filter to the same start & end value results in an exception

ok: https://oursite.com/catalogsearch/result/?q=Komodo&bx_discountedPrice=3.50-5.50
exception: https://oursite.com/catalogsearch/result/?q=Komodo&bx_discountedPrice=3.50-3.50

1 exception(s):
Exception #0 (Exception): Notice: Trying to get property of non-object in /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131

Exception #0 (Exception): Notice: Trying to get property of non-object in /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131
#0 /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php(131): Magento\Framework\App\ErrorHandler->handler(8, 'Trying to get p...', '/var/www/users/...', 131, Array)
#1 /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Helper/P13n/Adapter.php(462): com\boxalino\bxclient\v1\BxChooseResponse->getFacets('search')
#2 /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Model/FilterList.php(78): Boxalino\Intelligence\Helper\P13n\Adapter->getFacets()
#3 /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Model/FilterList.php(58): Boxalino\Intelligence\Model\FilterList->getBxFacets()
#4 /var/www/users/xyz/src/www/vendor/magento/module-layered-navigation/Block/Navigation.php(63): Boxalino\Intelligence\Model\FilterList->getFilters(Object(Magento\Catalog\Model\Layer\Search\Interceptor))
#5 /var/www/users/xyz/src/www/vendor/magento/framework/View/Element/AbstractBlock.php(264): Magento\LayeredNavigation\Block\Navigation->_prepareLayout()
#6 /var/www/users/xyz/src/www/vendor/magento/framework/View/Layout/Generator/Block.php(139): Magento\Framework\View\Element\AbstractBlock->setLayout(Object(Magento\Framework\View\Layout\Interceptor))
#7 /var/www/users/xyz/src/www/vendor/magento/framework/View/Layout/GeneratorPool.php(86): Magento\Framework\View\Layout\Generator\Block->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))
#8 /var/www/users/xyz/src/www/vendor/magento/framework/View/Layout.php(327): Magento\Framework\View\Layout\GeneratorPool->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))
#9 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->generateElements()
#10 /var/www/users/xyz/src/www/var/generation/Magento/Framework/View/Layout/Interceptor.php(91): Magento\Framework\View\Layout\Interceptor->___callPlugins('generateElement...', Array, Array)
#11 /var/www/users/xyz/src/www/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout\Interceptor->generateElements()
#12 /var/www/users/xyz/src/www/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks()
#13 /var/www/users/xyz/src/www/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks()
#14 /var/www/users/xyz/src/www/vendor/magento/framework/View/Page/Config.php(197): Magento\Framework\View\Layout\Builder->build()
#15 /var/www/users/xyz/src/www/vendor/magento/framework/View/Page/Config.php(207): Magento\Framework\View\Page\Config->build()
#16 /var/www/users/xyz/src/www/vendor/magento/framework/App/View.php(170): Magento\Framework\View\Page\Config->publicBuild()
#17 /var/www/users/xyz/src/www/vendor/magento/framework/App/View.php(114): Magento\Framework\App\View->loadLayoutUpdates()
#18 /var/www/users/xyz/src/www/vendor/magento/module-catalog-search/Controller/Result/Index.php(90): Magento\Framework\App\View->loadLayout()
#19 /var/www/users/xyz/src/www/app/code/Boxalino/Intelligence/Controller/IndexController.php(67): Magento\CatalogSearch\Controller\Result\Index->execute()
#20 /var/www/users/xyz/src/www/var/generation/Boxalino/Intelligence/Controller/IndexController/Interceptor.php(24): Boxalino\Intelligence\Controller\IndexController->execute()
#21 /var/www/users/xyz/src/www/vendor/magento/framework/App/Action/Action.php(102): Boxalino\Intelligence\Controller\IndexController\Interceptor->execute()
#22 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#23 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(70): Boxalino\Intelligence\Controller\IndexController\Interceptor->___callParent('dispatch', Array)
#24 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Boxalino\\Intell...', 'dispatch', Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Array, 'contextPlugin')
#25 /var/www/users/xyz/src/www/vendor/magento/module-store/App/Action/Plugin/Context.php(106): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#26 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\Action\Plugin\Context->aroundDispatch(Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#27 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Boxalino\\Intell...', 'dispatch', Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Array, 'customer-app-ac...')
#28 /var/www/users/xyz/src/www/vendor/magento/module-customer/Model/App/Action/ContextPlugin.php(61): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#29 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Customer\Model\App\Action\ContextPlugin->aroundDispatch(Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#30 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Boxalino\\Intell...', 'dispatch', Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Array, 'storeCheck')
#31 /var/www/users/xyz/src/www/vendor/magento/module-store/App/Action/Plugin/StoreCheck.php(44): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#32 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\Action\Plugin\StoreCheck->aroundDispatch(Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#33 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Boxalino\\Intell...', 'dispatch', Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Array, 'tax-app-action-...')
#34 /var/www/users/xyz/src/www/vendor/magento/module-tax/Model/App/Action/ContextPlugin.php(91): Boxalino\Intelligence\Controller\IndexController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#35 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Tax\Model\App\Action\ContextPlugin->aroundDispatch(Object(Boxalino\Intelligence\Controller\IndexController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#36 /var/www/users/xyz/src/www/var/generation/Boxalino/Intelligence/Controller/IndexController/Interceptor.php(39): Boxalino\Intelligence\Controller\IndexController\Interceptor->___callPlugins('dispatch', Array, Array)
#37 /var/www/users/xyz/src/www/vendor/magento/framework/App/FrontController.php(55): Boxalino\Intelligence\Controller\IndexController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#38 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#39 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#40 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'requestPreproce...')
#41 /var/www/users/xyz/src/www/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(94): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#42 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#43 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#44 /var/www/users/xyz/src/www/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#45 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#46 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#47 /var/www/users/xyz/src/www/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#48 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\App\FrontController\VarnishPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#49 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#50 /var/www/users/xyz/src/www/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#51 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#52 /var/www/users/xyz/src/www/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#53 /var/www/users/xyz/src/www/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#54 /var/www/users/xyz/src/www/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\App\Http->launch()
#55 /var/www/users/xyz/src/www/var/generation/Magento/Framework/App/Http/Interceptor.php(26): Magento\Framework\App\Http\Interceptor->___callPlugins('launch', Array, Array)
#56 /var/www/users/xyz/src/www/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch()
#57 /var/www/users/xyz/src/www/pub/index.php(42): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#58 {main}

Undefined offset: 1 in Block/Result.php on line 107

url: /catalogsearch/result/?q=welches+futter+ist+das+richige%3F

1 exception(s):
Exception #0 (Exception): Notice: Undefined offset: 1 in /var/www/users/qualipet2/src/www/app/code/Boxalino/Intelligence/Block/Result.php on line 107

Exception "Trying to get property of non-object" with some search strings

for example https://mysite.com/catalogsearch/result/?q=g-677

1 exception(s):
Exception #0 (Exception): Notice: Trying to get property of non-object in /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131

Exception #0 (Exception): Notice: Trying to get property of non-object in /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php on line 131
#0 /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Lib/BxChooseResponse.php(131): Magento\Framework\App\ErrorHandler->handler(8, 'Trying to get p...', '/srv/httpd/test...', 131, Array)
#1 /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Helper/P13n/Adapter.php(462): com\boxalino\bxclient\v1\BxChooseResponse->getFacets('search')
#2 /srv/httpd/test/src/www/app/code/Boxalino/Intelligence/Model/FilterList.php(78): Boxalino\Intelligence\Helper\P13n\Adapter->getFacets()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.