plugins – Can I create tags from a product description and map that info automatically for filter searching?

I have an aggregator and of course, the better the filtering, the better the experience.
I currently have most of what I want as an attribute or tag for filtering, but the last I’d like is embedded in the additional information tab and I’m wondering if there’s a way to ‘scrape’ this and give people the opportunity to filter by this info?

magento2 – How to Create an ‘AND’ Condition for Layered Navigation Magento 2?

Filtering with layered navigation on attribute 1, attribute 2 and attribute 3, I get the parent product because the child products have filtered attributes like child product 1 => attribute 1, child product 2 => attribute 2 and attribute 3, but I need to show this parent product which one child has 3 attributes together, for example child 1 => attribute 1, attribute 2 and attribute 3.
Is it possible ?
Plugin bellow

IndexBuilder.php

      <?php

namespace VendorModulePluginCatalogSearchModelSearch;
use MagentoFrameworkDBSelect;
use MagentoFrameworkSearchRequestFilterInterface;
use MagentoFrameworkSearchRequestFilterBoolExpression;
use MagentoFrameworkSearchRequestQueryFilter;
use MagentoFrameworkSearchRequestInterface;
use MagentoFrameworkSearchRequestQueryInterface as RequestQueryInterface;
use MagentoFrameworkAppResourceConnection;
use MagentoCatalogApiCategoryRepositoryInterface;
use MagentoCatalogModelCategoryFactory;
use MagentoCatalogModelProduct;
use MagentoFrameworkDataHelperPostHelper;

class IndexBuilder
{
    /**
    * @var MagentoFrameworkAppConfigScopeConfigInterface
    */
    protected $scopeConfig;

    /**
    * @var MagentoStoreModelStoreManagerInterface
    */
    protected $storeManager;
    protected $_stockFilter;
    private   $layerResolver;
    protected $categoryRepository;
    protected $_categoryCollectionFactory;
    protected $_date;
    protected $_filterData;
    protected $_productRepository;
    protected $_productDependant;
     /**
     * @var MagentoCatalogModelResourceModelProduct
     */
    private $resourceProduct;
    /**
     * @var MagentoCatalogModelCategoryFactory
     */
    protected $_categoryFactory;
    protected $_registry;
    protected $_request;
    private $resourceConfigurable;

    public function __construct(
        MagentoStoreModelStoreManagerInterface $storeManager,
        MagentoCatalogModelResourceModelProductCollectionFactory $productCollectionFactory,
        MagentoCatalogModelProductVisibility $productVisibility,
        MagentoCatalogHelperCategory $categoryHelper,
        MagentoFrameworkRegistry $registry,
        MagentoCatalogInventoryHelperStock $stockFilter,
        MagentoCatalogModelLayerResolver $layerResolver,
        CategoryRepositoryInterface $categoryRepository,
        MagentoCatalogModelResourceModelCategoryCollectionFactory $categoryCollectionFactory,
        CategoryFactory $categoryFactory,
        MagentoFrameworkAppRequestHttp $request,
        MagentoFrameworkStdlibDateTimeTimezoneInterface $date,
         ShoogaSearchByFilterModelFilterData $filterData,
         ShoogaLinkedDependantsModelFilterData $productDependant,
        MagentoCatalogModelProductRepository $productRepository,
        MagentoCatalogModelResourceModelProduct $resourceProduct,
        MagentoConfigurableProductModelResourceModelProductTypeConfigurable $resourceConfigurable
    ) {
        $this->storeManager = $storeManager;
        $this->_productCollectionFactory = $productCollectionFactory; 
        $this->_productVisibility = $productVisibility;
        $this->categoryHelper = $categoryHelper;
        $this->_registry = $registry;
        $this->_stockFilter = $stockFilter;
        $this->layerResolver = $layerResolver;
        $this->categoryRepository = $categoryRepository;
        $this->_categoryCollectionFactory = $categoryCollectionFactory;
        $this->_categoryFactory = $categoryFactory;
        $this->_request = $request;
        $this->_date =  $date;
        $this->_filterData = $filterData;
        $this->_productRepository = $productRepository;
        $this->_productDependant = $productDependant;
        $this->resourceProduct = $resourceProduct;
        $this->resourceConfigurable = $resourceConfigurable;
    }

    /**
    * Build index query
    *
    * @param $subject
    * @param callable $proceed
    * @param RequestInterface $request
    * @return Select
    * @SuppressWarnings(PHPMD.UnusedFormatParameter)
    */
    public function aroundBuild($subject, callable $proceed, RequestInterface $request) {
        $select = $proceed($request);
        $storeId = $this->storeManager->getStore()->getStoreId();
        $rootCatId = $this->storeManager->getStore($storeId)->getRootCategoryId();
        $productUniqueIds = $this->getCustomCollectionQuery();
        $select->where('search_index.entity_id IN (' . join(',', $productUniqueIds) . ')');

        return $select;
    }
        public function getProductsSkus($id){
      return $this->resourceProduct->getProductsSku($id);
    }
    public function getCurrentCategory()
    {        
        return $this->_registry->registry('current_category');
    }
  
    /**
    *
    * @return ProductIds()
    */
    public function getCustomCollectionQuery() {
       
        $todayStartOfDayDate = $this->_date->date()->setTime(0, 0, 0)->format('Y-m-d H:i:s');
        $todayEndOfDayDate = $this->_date->date()->setTime(23, 59, 59)->format('Y-m-d H:i:s');
        $websiteId = $this->storeManager->getStore()->getWebsiteId();
        $collection = $this->_productCollectionFactory->create();
        $collection->addAttributeToSelect('*');
        $collection->addAttributeToSelect(array('entity_id','sku'));
        
      
               $collection->addAttributeToFilter(
        'news_from_date',
        (
            'or' => (
                0 => ('date' => true, 'to' => $todayEndOfDayDate),
                1 => ('is' => new Zend_Db_Expr('null')),
            )
        ),
        'left'
    )->addAttributeToFilter(
        'news_to_date',
        (
            'or' => (
                0 => ('date' => true, 'from' => $todayStartOfDayDate),
                1 => ('is' => new Zend_Db_Expr('null')),
            )
        ),
        'left'
    )->addAttributeToFilter(
        (
            ('attribute' => 'news_from_date', 'is' => new Zend_Db_Expr('not null')),
            ('attribute' => 'news_to_date', 'is' => new Zend_Db_Expr('not null')),
        )
    );

        $collection->setOrder('sort_order', 'ASC');
            
    
       
        $collection->addWebsiteFilter($websiteId);
        $collection->setVisibility($this->_productVisibility->getVisibleInSiteIds());
        $collection->addAttributeToFilter('status',MagentoCatalogModelProductAttributeSourceStatus::STATUS_ENABLED);
        $collection->setPageSize(
                    $collection->getSize()
                )->setCurPage(
                    1
                );
       /*You can write your custom logic here...*/

        $getProductAllIds = $collection->getAllIds();
        $getProductUniqueIds = array_unique($getProductAllIds);
        return $getProductUniqueIds;
    }

    

}

Exporting MariaDB, no DROP DATABASE or CREATE DATABASE

I’m using MariaDB 10.5, If I do the following:

"C:/Program Files (x86)/MariaDB 10.5/bin/mysqldump" --skip-comments --compact --lock-tables=false --add-drop-database --host=localhost --user=trainer --password=PASSWORD training > C:/Users/splatten/Documents/TrainerS1D5.sql

In the command I’ve specified training which is the database to export and it exports the tables, data and stored procedures from this database.

It looks like it should be working, but it doesn’t include either DROP DATABASE or CREATE DATABASE.

magento2 – How create Multi website PWA with one admin panel


Your privacy


By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.




How to create Asset Library (BaseTemplate = 851) in Sharepoint Online?

Been searching through the internet for a couple of days to no avail but how do you create Asset Library with BaseTemplate = 851 in modern sites for Sharepoint Online via the REST API V1.0 endpoint? I am able to create Lists, Document libraries & Picture libraries with no issues but when I use BaseTemplateId = 851 the REST endpoint is not accepting the payload.

data = JSON.stringify({
        "__metadata": {"type": "SP.List"},
        "AllowContentTypes": true,
        "BaseTemplate": 851,  
        "ContentTypesEnabled": true,
        "Description": "My list description",
        "Title": foldername
      
    })

headers.append("Authorization", bearer)
headers.append("Content-Type", "application/json;odata=verbose")
headers.append("Accept", "application/json;odata=verbose")
headers.append("X-RequestDigest", formDigestValue)
const options = {
    method: "POST",
    headers: headers,
    body: data
};

return fetch(folderPath + '/_api/web/lists', options)
    .then(response => response.json())
    .then(response => console.log(response))

BaseTemplate – 100, 101 & 109 are just working fine and I am able to create lists and document libraries. 851 is not working programmatically though I can create Assets Library manually ( I have activated Video and Rich Media Site Collection Features).

Any help here would be much appreciated! Thank you

Drupal 9 – Why does a query string create a 404 Page not found?

Recently upgraded from Drupal 8 to Drupal 9 and noticed if the URL has a query string (like when linked on Facebook), Drupal throws a 404 page not found.

Example:

Working URL: https://cruise.blog/2021/07/how-drive-cruise-ship

404 URL: https://cruise.blog/2021/07/how-drive-cruise-ship&ct=ga&cd=EAEYACoTMzczMDU5MTUxNjcwNDQyMzUxNzIcN2RiZjYwOGY4MzE2NmM3OTpjby51azplbjpHQg&usg=AFQjCNEa2-Hx3zqnQ59AJFnde_ORtLTvgA

I Will Create 70 Manual & High-quality Profile Backlinks to Rank your website. for $10

I Will Create 70 Manual & High-quality Profile Backlinks to Rank your website.

About This Service:

I provide you with only great quality SEO backlinks so that you can get more traffic. For your business or your website, you must never compromise

quality backlinks. If you need someone to help rank your website, I can provide

High DA Profile backlinks.

I Will Create 70 Manual & High-quality Profile Backlinks on HighDA 50 to 90
Links Are Created Manually With High Domain Authority To Boost Rankingfor Your Website.
Services:

  • Manual Link Building
  • DA 50 to 90
  • All Links are Permanent
  • Fast Ranking
  • 100% Satisfaction
  • Complete Report in EXCEL Sheet
  • Fast Delivery

Requirements:

  • Your Website URL
  • Short Description
  • Keywords
  • Logo

I am available at any time if you have questions about my service. My goal is to contact you as soon as possible.

Best Regards
Amdad

.

I will create 10 exclusive profile backlinks da 92 – 99 plus manually SEO Linkbuilding for $10

I will create 10 exclusive profile backlinks da 92 – 99 plus manually SEO Linkbuilding

Welcome To My Service

Here I will Provide you 10 + Profile Backlinks HIGH DA from 92 to 99. All links are from Highly Trusted Domain Authority.

All Baxklinks will be created Manually Permanent Backlink. It’s very helpful for your website SEO ranking and Get More Traffic.

Get the Best profile Backlink Service — 100 % reliable and working profile backlinks.

Here You Find Best Reason For Chose Me.

1. I Will Provide High DA Up To (92-99) Profile Backlinks

2. All are Indexable

3. White Hat 100% and Manual Do All Backlinks

4. Ensuring google backlink policy.

5. Use Separate IP address.

6. All Backlinks are Permanent.

7. On time delivery.

8. Full reports

What I Need From You ?

  • Your Website Link
  • Your Targeted Keywords

Just place order and send me your website. That’s it

.(tagsToTranslate)link(t)building(t)profiles(t)backlinks(t)seo(t)links(t)boost(t)seolinks

mac – Is it okay to create space on APFS synthesized disk to install windows without bootcamp?

Honestly I do not have enough reputation to comment on this post:

https://apple.stackexchange.com/a/307469/425311

Step two in the above link says:

Create empty space on a drive. This space needs to be outside any APFS or Core Storage containers.

His command diskutil list shows:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *536.9 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Chicken                 150.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS Turkey                  150.0 GB   disk0s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5

Mine shows:

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         239.8 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +239.8 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume JacOS                   40.2 GB    disk1s1
   2:                APFS Volume Preboot                 22.5 MB    disk1s2
   3:                APFS Volume Recovery                512.1 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

Continuing with the instruction will “absorb the free space” into a volume which is on an APFS container scheme, which is opposite of the instruction in step two because my volumes are on a synthesized APFS container scheme.

Does it matter that my volumes to “absorb the free space” is on a scheme and not a container disk?

I’m hesitant to experiment with container disks which contain the only OS.

Also, in step three, why does David resize disk1s4 instead of disk0s4?

Has that created the below result, which causes the identifier to reflect the number “1” after disk, even though it is reading off the internal physical disk “disk0”?

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +536.9 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Chicken                 150.0 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
   4:                  Apple_HFS Turkey                  385.4 GB   disk1s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk1s6

Does David create a virtual partition when resizing a volume by changing the numeral of the internal physical disk?
Am I to add a numeral to my “disk1s3” (the second to last volume in my container scheme) to be “disk2s3”?

I don’t understand and am I not sure how to proceed with the instructions.

I appreciate your answers.

I have MacOS High-Sierra 10.13.6 using an intel CPU and SSD drive.

Thank you.

gm techniques – As a GM, how do create a group of players that meshes well with my style and preferences?

I’ve been GMing for some years now. During that time, I feel like I’ve developed somewhat of a style/preference with the kinds of games I like to run. While I feel my games can be enjoyed by a variety of players, I find that certain types of players mesh better with my style/preference. Selfishly, this sort of meshing really improves my satisfaction as a GM and I’d really like to build a group around such players, even if it was just to fulfill a vision I have for a single, particular type of campaign.

Have other GMs attempted and/or succeeded in this sort of utopian endeavor? What are some strategies/tactics I could/should consider?

I’d be looking to build a group of 3-4 players, maybe 5. As an example of where my mind is currently at, I’m considering running a series of 4-session campaigns for different groups of players (a complete story arc for each group) and using these mini-campaigns as incognito recruiting events. Having a pre-defined end point after 4 sessions would (hopefully) allow me to gracefully cut ties with the players that don’t fit the profile I’m looking for, without creating any hard feelings — though this is all still theoretical.