Austin TX
Account created on 16 May 2011, over 13 years ago
#

Recent comments

🇺🇸United States flashwebcenter Austin TX

You're welcome! Glad the Solo theme is working well for you! From the screenshot, it seems you're using Drupal's new experimental navigation. The current toolbar has a higher z-index than the Solo menu, but the new one doesn't. If you're using the new navigation, I’ve added some CSS to the dev version you can try. If not, here’s the CSS:

.admin-toolbar {
  z-index: 5000;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

The z-index values were originally set to 1000, 2000, and 3000 to address user complaints about menus being covered by other elements. These higher values were implemented to resolve those issues, but I understand that z-index preferences can vary based on individual use cases.

Unfortunately, changing them now could disrupt functionality for existing users. However, if you have a solution that works for your specific requirements, feel free to adjust the z-index values within the theme settings to suit your needs.

Navigate to the default theme settings (Solo or its sub-theme) under Global Settings, and add this code to the CSS Dynamic section.

#page-wrapper .main-navigation-wrapper {
  z-index: 500;
}
#page-wrapper .main-navigation-wrapper ul.navigation__menubar {
  z-index: 501 !important;
}
#page-wrapper .main-navigation-wrapper ul.navigation__menubar>li>ul {
  z-index: 502 !important;
}
#page-wrapper .main-navigation-wrapper ul.navigation__menubar >li>ul>li>ul {
  z-index: 503 !important;
}

Thank you for understanding!

🇺🇸United States flashwebcenter Austin TX

Hello,
Thank you for contributing the patch to the module! I’ve reviewed it and applied it to the codebase, and everything looks fine from my side. However, I’m unable to test it fully as I don’t currently have an account to verify the functionality.

If anyone in the community can test it and confirm that it’s working as expected, I’d be more than happy to approve the patch. Your feedback is greatly appreciated!

    "extra": {
        "patches": {
            "drupal/cloudflare_purge": {
                "Add form to purge by URL": "https://www.drupal.org/files/issues/2024-12-04/cloudflare_purge-purge-by-url-3490224-3.patch"
            }
        },
    },

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

When creating a slideshow in Drupal 10, there are two distinct approaches, which often cause confusion:

Slideshow from Nodes: In this approach, each slide is a separate node. For example, if you have a content type like "Article," each article node can represent an individual slide in the slideshow. This is managed by creating a View that pulls multiple nodes and displays them as a slideshow.

Slideshow from a Multi-Value Image Field: Here, a single node contains an image field with multiple images. The slideshow is created by rendering all the images from that single field as individual slides. This approach is useful for cases like a gallery or product page, where all images are associated with one piece of content.

Understanding the distinction is essential because the setup and use cases differ significantly. The Views Vanilla JavaScript Slideshow (VVJS) is a "Slideshow from Nodes" and it is suited for content-heavy slides, while the "Multi-Value Image Field Slideshow" is ideal for displaying image galleries. https://www.drupal.org/project/field_slideshow

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for your question about the note on the module's home page. This note is not specific to this module but is intended as general guidance for Drupal as a whole. Feel free to use it.

In Drupal, for optimal performance and user experience, it is generally recommended to limit the number of items to 10. This keeps the page responsive and accessible, especially when working with images that require more resources to load. Additionally, enabling pagination is a best practice to ensure smoother navigation and maintain accessibility, while also preventing potential performance bottlenecks.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

You're welcome! I updated the code to include a login popup button and a vertical nav hamburger, in case anyone else is looking for ways to modify all the top buttons.

#login-button-open,
#sidebar-button-open,
#search-button-open {
  border-radius: var(--solo-px8);
}

#login-button-open button,
#sidebar-button-open button,
#search-button-open button,
#page-wrapper .menu--account li a {
  border: 1px solid var(--r-br);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  border-radius: var(--solo-px8);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#login-button-open {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

#login-button-open:hover,
#sidebar-button-open button:hover,
#search-button-open button:hover,
#page-wrapper .menu--account li a:hover {
  transform: translateY(2px);
}

#login-button-open,
#search-button-open,
#page-wrapper .menu--account li {
  margin-right: var(--solo-px8);
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

To apply a border, first define the border as a CSS variable in your sub-theme. Use this variable for the border styling instead of hardcoding colors. Then, set the color value either in your theme settings or within your sub-theme for better customization.
Here is an example:

#search-button-open button,
#page-wrapper .menu--account .nav__menu-item-account a {
  border: 1px solid var(--r-br);
  --r-br: #647d67;   /* Remove this line if you want to use the theme settings for customization */
  /* Optional */
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#page-wrapper .menu--account .nav__menu-item-account {
  margin-right: 8px;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

This issue was addressed and fixed on the dev environment two days ago. Please feel free to use dev.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Please add the CSS class shown in the screenshot (align-center). Let me know if you need any further tweaks!

Best wishes
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you so much for your kind words and support! I’m happy that you’re enjoying the Solo theme. It’s feedback like this that keeps me motivated.

The advanced search lacks a configuration UI; navigating to ../admin/config/search/pages shows no configuration options for advanced search. I’ve added functionality to the Solo theme: under Solo Settings > Global Site, there’s now a feature called Disable Advanced Search Filters. This allows you to disable any of the three filters (Keywords, Types, and Language). The changes are pushed to the dev branch and are also available on the demo site. Feel free to try it out!

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

You're welcome! No problem at all. Glad it’s sorted out.
Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
When issues like this occur, it's often a sign that a configuration has been altered. I’ll review the menu block settings and ensure that the "Expand all items" option is enabled.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Thank you for pointing that out.

🇺🇸United States flashwebcenter Austin TX

You're welcome! Glad you found the issue—thanks for the update, and no worries at all.

🇺🇸United States flashwebcenter Austin TX

Hi,
I just ran a quick test and couldn’t replicate the issue. I’ve uploaded a screen recording of my test on Drupal 10.4. Let me know more about the modules you have enabled, and I’d be happy to help debug the issue on your site.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

You're very welcome! I'm glad the solution aligns with what you had in mind and that the theme has been a time-saver for your project. Best of luck with your complex portal—sounds like an exciting challenge!

🇺🇸United States flashwebcenter Austin TX

Hello,

You can apply flex to the parent of the thumbnails. Here is an example.

<div class="thumbnail-gallery">
  <a href="image1-large.jpg" class="colorbox" data-gallery="gallery">
    <img src="image1-thumb.jpg" alt="Thumbnail 1">
  </a>
  <a href="image2-large.jpg" class="colorbox" data-gallery="gallery">
    <img src="image2-thumb.jpg" alt="Thumbnail 2">
  </a>
  <a href="image3-large.jpg" class="colorbox" data-gallery="gallery">
    <img src="image3-thumb.jpg" alt="Thumbnail 3">
  </a>
  <a href="image4-large.jpg" class="colorbox" data-gallery="gallery">
    <img src="image4-thumb.jpg" alt="Thumbnail 4">
  </a>
</div>
.thumbnail-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 12px; /* Space between thumbnails */
  justify-content: flex-start; /* Align thumbnails to the left */
}

.thumbnail-gallery a {
  display: inline-block;
  width: 100px;
  height: 100px;
  overflow: hidden; /* Ensure thumbnails don't overflow */
}

.thumbnail-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensure images fit within the thumbnail dimensions */
  display: block;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for bringing this to my attention. The menu was originally designed to collapse on window resize, primarily for small devices. I have restructured this logic to improve the user experience. Now, in the Solo theme, menus will remain open on window resize and will only collapse when the layout changes according to the breakpoints set on your website. For example, the menu will collapse when switching from a small to a large layout and vice versa.

The updated code is currently live on the demo site, which features a long menu for testing. Feel free to try it out there and download the latest development version .

Best Practice for Menu Behavior on Resize:
Do Not Collapse on Resize:

If the resize happens within the same layout range (e.g., resizing a desktop window without crossing a breakpoint).
Collapse Only When Passing Breakpoints:

If the screen size transitions from "big screen" to "small screen" or vice versa, collapse the menu to adapt to the new layout. For example:
On big to small: Collapse the menu and show the hamburger menu.
On small to big: Collapse the mobile menu and reset it to the desktop style.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

flashwebcenter changed the visibility of the branch 3493567-tabs-are-broken to hidden.

🇺🇸United States flashwebcenter Austin TX

Thank you for bringing this to my attention.

🇺🇸United States flashwebcenter Austin TX

Hello,

If Bluesky is meant to replace X (Twitter), it makes sense to consider swapping the X social media field for Bluesky info. However, since Bluesky hasn’t fully reached the scale or adoption of X yet, keeping the X field could be practical for compatibility, user preference, or during the transition as not everyone has moved to Bluesky. The X field would only make sense to remove entirely if X (Twitter) were to shut down completely and have no users left.

The icon was added to dev and it is on available on the demo site. Feel feel free to use it.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
Please open gmpe-style.css and on line 18 replace:

.field--type-text-long img,
.field--type-text-long video,
.field--type-text-long embed,
.field--type-text-long object,
.field--type-text-with-summary img,
.field--type-text-with-summary video,
.field--type-text-with-summary embed,
.field--type-text-with-summary object {
  display: inline-block;
}

with:

.field--type-text-long img:not(img.align-center),
.field--type-text-long video:not(video.align-center),
.field--type-text-long embed:not(embed.align-center),
.field--type-text-long object:not(object.align-center),
.field--type-text-with-summary img:not(img.align-center),
.field--type-text-with-summary video:not(video.align-center),
.field--type-text-with-summary embed:not(embed.align-center),
.field--type-text-with-summary object:not(object.align-center) {
  display: inline-block;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Yes, the templates views-view-table.html.twig and table.html.twig were updated to disable the w3.css class for responsive tables when Drupal adds responsive or sticky classes to the table. You can download the dev version for testing.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

No worries, I updated the table.html.twig to use the Views template. I'll leave this open, so feel free to share any additional URLs. If there are none, feel free to close it.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for pointing this out. There was a conflict between W3.CSS responsive classes and the Views table's responsive sticky header. I updated the Views table Twig template to disable the W3.CSS class when either sticky or responsive settings are active in Views. The fix has been tested and pushed to the dev branch —feel free to use it.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello Mark,

You are welcome! The right-side menus are standard menus with some custom css. Go to your-site-dot-com/admin/structure/menu/add to create a new menu and add links. Then, navigate to your-site-dot-com/admin/structure/block, place the menu, and configure it as needed.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello Mark,
Thank you for reaching out and for your kind words about the feature page formats! I'm glad to hear you find them a valuable enhancement to your W3CSS layouts.

I'd be happy to share the code with you to help you get started. However, implementing and customizing it for your site may be complex, and it's not something I can effectively guide you through remotely.

Here is the code:

{% set classes = [
    'node solo-clear solo-teaser',
    'node--type-' ~ node.bundle|clean_class,
    node.isPromoted() ? 'node--promoted',
    node.isSticky() ? 'node--sticky',
    not node.isPublished() ? 'node--unpublished',
    view_mode ? 'node--view-mode-' ~ view_mode|clean_class,
  ]
%}

{{ attach_library('solo_helper/content-info') }}

{% set node_title = node.label|striptags|trim %}
{% if node.field_teaser_mode is not empty %}
  {% set node_summary = node.field_teaser_mode.processed|striptags|trim %}
{% else %}
  {% set node_summary = node.body.summary|render|striptags|trim %}
{% endif %}
{% set node_url = url('entity.node.canonical', {'node': node.id}, {'absolute': true}) %}
{% if node.uid.entity %}
  {% set user = node.uid.entity %}
  {% set user_url = path('entity.user.canonical', {'user': user.id}) %}
  {% set user_picture = user.user_picture.target_id ? file_url(user.user_picture.entity.fileuri) : null %}
  {% set user_name = user.name.value %}
  {% set comment_count = node.comment and node.comment.comment_count ? node.comment.comment_count.value : '0' %}
  {% set first_last = (user.field_first_name.value ~ ' ' ~ user.field_last_name.value)|trim %}
{% endif %}


<article{{ attributes.addClass(classes) }}>

  <h2 {{ title_attributes.addClass('node__title') }}>
    <a href="{{ url }}" rel="bookmark">{{ label }}</a>
  </h2>

  <div class="solo-author-info">

    {% if user.field_user_social_media is not empty %}
    <div class="teaser-author-social sm-icons">
    {% for item in user.field_user_social_media %}
      {% set url = item.uri %}

      {% if 'facebook' in url %}
        <a class="facebook" href="{{ url }}" aria-label="Facebook Profile" target="_blank">
          <span>{% include '@solo/partials/svg/_svg-facebook.html.twig' %}</span>
        </a>

      {% elseif 'twitter' in url %}
        <a class="twitter" href="{{ url }}" aria-label="Twitter Profile" target="_blank">
          <span>{% include '@solo/partials/svg/_svg-twitter.html.twig' %}</span>
        </a>

      {% elseif 'linkedin' in url %}
        <a class="linkedin" href="{{ url }}" aria-label="LinkedIn Profile" target="_blank">
          <span>{% include '@solo/partials/svg/_svg-linkedin.html.twig' %}</span>
        </a>

      {% elseif 'drupal' in url %}
        <a class="drupal" href="{{ url }}" aria-label="Drupal Profile" target="_blank">
          <span>{% include '@solo/partials/svg/_svg-drupal.html.twig' %}</span>
        </a>
      {% endif %}

    {% endfor %}
    </div>
    {% endif %}

    {% if first_last or user_name %}
    <div class="author-picture">
      <a href="{{ user_url }}" title="{{ user_name }}">
        <span>
          {% if user_picture %}
            <img src="{{ user_picture }}" alt="{{ user_name }}">
          {% else %}
            {% include '@solo/partials/svg/_account.html.twig' %}
          {% endif %}
        </span>
        &nbsp;
        <span>
          {% if first_last %} {{ first_last }} {% else %} {{ user_name }} {% endif %}
        </span>
      </a>
    </div>
    {% endif %}
    <div class="author-calendar">
      <span>{% include '@solo/partials/svg/_calendar-clock.html.twig' %}</span>
      &nbsp;
      {% if node.changed %}
        <span>Last Updated: {{ node.changed.value|date('g:i A, M d, o') }}</span>
      {% else %}
        <span>Last Updated: Not available</span>
      {% endif %}
    </div>
    {% if comment_count > 0 %}
    <div class="author-comment">
      <span>{% include '@solo/partials/svg/_comment.html.twig' %}</span>
      &nbsp;
      <span>{{ comment_count }} Comment{{ comment_count|number_format > 1 ? 's' : '' }}</span>
    </div>
    {% endif %}

  </div>

  <div{{ content_attributes.addClass('solo-clear node__content') }}>
    {# {{ content }} #}
    <div class="teaser-image-wrapper">

      <div class="author-share sm-icons">
          <a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ node_url }}" aria-label="Share on Facebook" target="_blank">
            <span>{% include '@solo/partials/svg/_svg-facebook.html.twig' %}</span>
          </a>
          <a class="twitter" href="https://x.com/share?url={{ node_url }}&text={{ node_title }}" aria-label="Share on X" target="_blank">
            <span>{% include '@solo/partials/svg/_svg-twitter.html.twig' %}</span>
          </a>

          <a class="linkedin" href="https://www.linkedin.com/sharing/share-offsite/?url={{ node_url }}" aria-label="Share on LinkedIn" target="_blank">
            <span>{% include '@solo/partials/svg/_svg-linkedin.html.twig' %}</span>
          </a>
          <a class="email" href="mailto:?subject={{ node_title }}&amp;body={{ node_summary }} {{ node_url }}." aria-label="Email the Article" target="_blank">
            <span>{% include '@solo/partials/svg/_svg-email.html.twig' %}</span>
          </a>
          <span class="share-teaser"><strong>Share</strong></span>
      </div>
      {{ content.field_node_image }}
    </div>

    <p>{{ node_summary ~ ' ...' }}</p>

    {% if content.links %}
    {{ content.links }}

{% endif %}

  </div>

</article>

Best Wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Version 1.0.12 now includes RTL language support. Feel free to download, test it, and let me know if you need further assistance.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

I updated Views Responsive Table Column Priorities (High, Medium, Low):

  • High: Displays on all screen sizes.
  • Medium: Displays on screens 576px and wider.
  • Low: Displays on screens 992px and wider.

Feel free to download the dev version and test it! The work was pushed to the dev release and is available on the demo site.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

In the W3CSS theme, a checkbox was used to disable the credit text, but users couldn’t customize it. In the Solo theme, I’ve made it customizable, so users can enter their own company name. To disable it, just clear the text field.

https://www.drupal.org/docs/extending-drupal/themes/contributed-themes/s...

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Update description

🇺🇸United States flashwebcenter Austin TX

Hello,

This approach won’t work for the Authored By field, which is the main reason this module was created. For the issue you have is likely due to Drupal’s default behavior, where blocked users can’t have their profiles or referenced fields rendered for anonymous users. To allow anonymous users to see fields of blocked users in a reference field, her is a solution:

2- Add the following to your theme/module, I used article as a content type.

use Drupal\file\Entity\File;
use Drupal\Core\Url;

function HOOK_preprocess_node(&$variables) {

  if ($variables['node']->bundle() == 'article') {
    // Load the referenced user.
    if ($user_reference = $variables['node']->get('field_user')->entity) {
      // Check if the user is blocked.
      if ($user_reference->isBlocked()) {
        // Manually load user data fields (e.g., name, email).
        $variables['blocked_user_name'] = $user_reference->getDisplayName();
        $variables['blocked_user_email'] = $user_reference->getEmail();

        // Load other fields.
        $variables['blocked_first_name'] = $user_reference->get('field_first_name')->value;
        $variables['blocked_last_name'] = $user_reference->get('field_last_name')->value;

        // Load the user picture URL if it exists.
        if ($user_picture = $user_reference->get('user_picture')->entity) {
          $file_uri = $user_picture->getFileUri();
          $variables['blocked_user_picture'] = \Drupal::service('file_url_generator')->generateAbsoluteString($file_uri);
        }

        $variables['blocked_user_summary'] = $user_reference->get('field_user_summary')->value;
      }
    }
  }
}

2- Create a custom twig template for the content type (node--your-content-type.html.twig) and add the following fields:

{% if blocked_user_name %}
  <p>User Name: {{ blocked_user_name }}</p>
{% endif %}

{% if blocked_user_email %}
  <p>Email: {{ blocked_user_email }}</p>
{% endif %}

{% if blocked_first_name %}
  <p>First Name: {{ blocked_first_name }}</p>
{% endif %}

{% if blocked_last_name %}
  <p>Last Name: {{ blocked_last_name }}</p>
{% endif %}

{% if blocked_user_picture %}
  <p><img src="{{ blocked_user_picture }}" alt="{{ blocked_user_name }}'s picture"></p>
{% endif %}

{% if blocked_user_summary %}
  <p>Summary: {{ blocked_user_summary }}</p>
{% endif %}

This is an example of fields on the demo site; feel free to customize it to match your field names

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

I understand that work is underway on this feature in Drupal core, and I’ve mentioned that on the homepage for this module. However, I’m still uncertain if the patch will address the Authored By field, which was the primary motivation for creating this module. In any case, I’ll wait until this feature is fully integrated into Drupal core.

I'm not a big fan of patching core; if the choice is between patching core and installing a contrib module, I always opt for the contrib.

Thank you!
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

The "force using fields" feature has its place in Views, but I wouldn't recommend it with Views Slideshow. The descriptions for the two slideshow types on the homepage.

Two Slideshow Types: Offers two types of slideshows: one based on view mode that can include multiple fields, and a hero slideshow requiring a row style with the first field as an image or responsive image. Create a prominent, full-width slideshow with large images and overlaying content, perfect for showcasing key visuals at the top of a webpage.

There's a potential issue with the validate() method when using "force using fields"—the $form_state variable is being used without being properly declared or passed into the function. In Drupal, the FormStateInterface object ($form_state) is essential for setting form errors, but it isn’t automatically available in this context. I updated the validate() method accordingly so $form_state is now handled properly.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Just put your blocks in an appropriated (and equivalent) region in the new solo theme?

Yes
Copy the blocks along with their configurations to the Solo theme..

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

This issue is unrelated to the theme you’re using in Drupal. In Google PageSpeed Insights, the "Rendering Largest Content" alert flags elements that may impact load time, such as a large block of text, which is identified as the Largest Contentful Paint (LCP).

This can sometimes occur when custom or Google fonts are used, as these require additional loading time for rendering. To optimize, it may help to use system fonts that load quickly, consider reducing text length, or ensure that font files load efficiently. Addressing these factors can improve page speed and contribute to a smoother user experience.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

All fonts in the library have been tested and are working as expected. To test a font:

  1. Disable Drupal aggregation at admin/config/development/performance.
  2. In the active theme settings, enable a Google font (e.g., Roboto) under global fonts.
  3. Visit the site, open the inspector, and search the source code for fonts.google. You should see something like:

  4. Go back to theme settings, deselect this font, then refresh the page and check the source again. The Google font link should no longer appear.

If Google Fonts still appear, it could be due to caching, a module adding the font automatically. Clearing caches or disabling modules one by one can help pinpoint the source.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Please check the menu configuration ../admin/structure/block to ensure it's correctly configured in the region. Make sure you select Expand all menu links

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Glad it worked!

🇺🇸United States flashwebcenter Austin TX

Hello,

A 400 Bad Request error generally means the server cannot process the request because of a client-side issue. Invalid Request Syntax, API Format Mismatch or Authentication Issues. In your case, it's specifically indicating an "Authentication error," meaning the credentials (Zone ID or API token) are likely incorrect or incomplete.

Fixing the authentication (API token and Zone ID) should usually resolve this kind of issue.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

The menu on the page isn't rendered. Please check the menu configuration to ensure it's correctly assigned to the intended region.

Best wisehs,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

I'm glad it worked! If you're not modifying any HTML tags, there's no need to override the template. You can achieve the same result by simply applying CSS to the h3.pb__content-title element:

h3.pb__content-title {
  text-align: center;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

It seems that a contrib module related to menus is preventing the sidebar menu from inheriting the default template. The workaround is to create a custom Twig template for each menu you add to the sidebars.

Any side menu if you don't have this module will act like https://cat-tobi.upf.edu/labelling_system/tonal_representation/pitch_acc....

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

To replace the html tag for the icon from div to h1....h5, you will have to update the twig template. There is a custom twig template for this bundle inside ../paragraphs_bundles/modules/paragraph_bundle_icon/templates/paragraph--icon-bundle.html.twig. You can copy this template to your theme and update the html tag from div to h1....h5.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

No worries! I’m glad to hear the issue is resolved.

🇺🇸United States flashwebcenter Austin TX

Hello,

The footer contains a menu and social media links on the demo site, functioning as expected.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Simple enough to test, create a content type with a handful of images, do some settings for them and see if the settings are applied.

Thank you for sharing your testing approach! However, VVJS is actually designed to create slideshows from multiple content items, not from an image field with multiple images. I recommend trying it out with different content items as slides to see how it works. This approach should align with VVJS’s functionality and showcase its capabilities effectively.

You can check out the demo for examples of the various types of slideshows you can create. In VVJS, each slide represents a separate content item.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Regarding the issue at https://www.drupal.org/project/vvjs/issues/3476868 💬 Demo suggestions Active , I previously mentioned:

For your website, each Juicebox gallery content includes a slideshow feature, similar to what is provided by the ImageField Slideshow module. This allows you to create a slideshow from multiple images within a single field. With VVJ Suite, the modules filter across different types of content, paragraphs, and blocks, enabling each node, block, or paragraph to contain its own image. One view can be used across unlimited content, as long as the content architecture is flexible and structured for easy manipulation.

To clarify further:

  1. ImageField Slideshow Module/Juicebox Gallery Content with Slideshow Feature: Each Juicebox gallery can include a built-in slideshow similar to the ImageField Slideshow module, allowing for a slideshow within a single image field containing multiple images.
  2. VVJ Suite Functionality: The VVJ Suite modules allow filtering across different types of content, such as paragraphs and blocks. This enables individual elements like nodes, blocks, or paragraphs to each have their own unique image associated with them.

In conclusion, there are two main ways to build a slideshow on your website. The first approach uses the Juicebox gallery or ImageField Slideshow module to create a slideshow from multiple images within a single content piece. The second approach, facilitated by VVJ Suite, builds a slideshow from multiple content pieces, each containing a single image.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for pointing this out. The theme was not tested with right-to-left (RTL) languages, and it appears that the Primary Sidebar Menu currently does not function as expected in RTL mode. I will need to add support for RTL languages as a feature in a future update to ensure seamless functionality. I appreciate your feedback!

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

It looks like the issue you’re encountering is due to configuration file duplication between the root and language-specific folders. This duplication doesn’t seem to be directly related to the Solo theme itself, as it doesn’t include any specific settings. Instead, it appears to be a configuration management issue within Drupal, particularly regarding how translations are handled for configuration items like blocks.

In your case, the root configuration file contains the translated label, while the file in the language-specific folder still has the English label. This discrepancy is causing inconsistencies in displaying content across different languages, as the translated content is not consistently applied.

Here are some steps to help address this issue:

  1. Check Configuration Translation Synchronization
    Drupal stores configuration translations separately, and these can sometimes become out of sync. You can force synchronization by exporting and re-importing the configuration:
    • Export Configuration:
      • Go to Configuration > Development > Configuration Synchronization.
      • Export either the specific configuration items affected or the entire site configuration.
    • Edit Translations:
      • In the exported .yml files, verify if the files in the translation folders contain the correct language labels.
      • If any translation labels are missing, manually update these files to ensure accuracy.
    • Import Configuration:
      • Import the updated configuration back into Drupal to synchronize the settings with the correct labels.


  2. Update Translation Strings
    If specific labels aren’t translating correctly:
    • Go to Configuration > Regional and language > User interface translation.
    • Search for the untranslated label (e.g., 'User account menu') and translate it directly. This can sometimes force the translation to take effect in the configuration.


  3. Clear Cache
    After making any changes, clear the Drupal cache by going to Configuration > Performance > Clear all caches. This ensures the new translations are applied.

  4. Review Language Settings for Block Configuration
    Language-specific block settings may override the default configuration:
    • Go to Structure > Block Layout and find the block for the User Account Menu.
    • Verify that the block is set to be visible for the appropriate languages and is configured correctly for each one.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Great! Glad you were able to resolve it.

🇺🇸United States flashwebcenter Austin TX

Hello,

I’m using a content type example from my site at https://unitedstarsofamerica.com/berry-and-fruit-tones/solo-blueberry-sk.... The content type has the following fields: Title, Category, Image, Body, and Links. The Category field is a taxonomy field connected to a vocabulary called "Category" (located at /admin/structure/taxonomy). Whenever I add a new color scheme image, I tag it with relevant taxonomy terms. In this example, I tagged the content with "Ocean and Deep Sea Themes," "Blue," and "Light and Dark."

I also created a view at https://unitedstarsofamerica.com/color-schemes, where the Category field is exposed twice—once as "Category" and again as "Colors."


Here’s how you can achieve something similar on your own site:

Organize Your Images: If you have a large set of images (e.g., 10,000), you can organize them in folders by criteria such as year, event, or place.

Install PB Import: Install the PB Import module and use it to create nodes for each image. Each node will have its own title, associated image, and relevant taxonomies.

Prepare CSV Files: The next critical step is creating CSV files to batch upload the data. Each image should have its own entry, including the URL, title, and taxonomy tags. For example:

csv_image_url, csv_node_title, csv_image_alt, csv_image_title, csv_node_tag, csv_node_body
paragraphs-bundles-import.jpg, The Image Title, Optional image alt, optional image title, Paris | First Day | Cluny and Notre Dame, optional body text

Import the CSV Data: After creating the nodes, you can display the data using a view, choosing the appropriate plugin for your display needs (e.g., Slideshow, Tabs, 3D Carousel).

Create a Filterable Page: You can then expose taxonomy terms in your views to allow users to filter the slideshow or create menu links to pre-filtered views.

This method allows you to efficiently categorize, import, and display thousands of images in an organized way, providing flexibility in how users can view and filter the content.

🇺🇸United States flashwebcenter Austin TX

Hello,

All the VVJ Suite modules come with a view example, demonstrating how view plugins can be applied to various elements, such as content, content blocks, paragraphs, etc., not limited to content types. These examples are not intended for direct use but to illustrate how the plugins function. Creating a dedicated content type for each module would add unnecessary configuration overhead to your site.

For your website, each Juicebox gallery content includes a slideshow feature, similar to what is provided by the ImageField Slideshow module . This allows you to create a slideshow from multiple images within a single field. With VVJ Suite, the modules filter across different types of content, paragraphs, and blocks, enabling each node, block, or paragraph to contain its own image. One view can be used across unlimited content, as long as the content architecture is flexible and structured for easy manipulation.

In Views, you can leverage contextual filters to dynamically filter content. Alternatively, if your content is tagged, you can expose filters and allow users to interactively filter the displayed data. For example, in the demo site’s color schemes page (https://unitedstarsofamerica.com/color-schemes), the page itself is a view where any view plugin can modify the display (e.g., 3D carousel, slideshow). Here, I’ve also added exposed filters so users can refine the content display themselves.

It’s important to differentiate between data storage and data presentation. When storing data (content, images), I ensure everything is tagged with all potential criteria the client may later want to use to filter or display the data. The more time you spend architecting the data upfront, the more flexible your options will be for displaying it later.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for bringing this issue to my attention. I’ve updated the development version , and it is now functioning properly. You can go ahead and use it.

When you visit your-site-dot-com/forum, you should be able to see all the forms.

Best regards,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

While I can't change the global settings for the img HTML tag directly, you can reset the CSS for the img element, removing the vertical-align: middle;, you can simply override it by setting vertical-align to its default value. The default value for vertical-align is baseline. Here's how you can reset it:

img {
  vertical-align: baseline;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Thank you! I’m really glad you see the value in this work for both the community and the "Solo" ecosystem. My main goal with these contrib modules—whether it's the slideshow, accordion, tabs, or others—is to enhance Drupal’s capabilities and make these tools accessible for everyone to benefit from. Your feedback is greatly appreciated!

🇺🇸United States flashwebcenter Austin TX

Hello,

I have updated the skip links and tested them using Mac Narrator, and everything is functioning as expected on the demo site.

As for the menu navigation, there is a special script for keyboard compatibility that you can enable in the primary menu region. Is this what you were referring to?

Best regards,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
On load the first item has the class active and it is focused tabindex 0, https://unitedstarsofamerica.com/vanilla-views/views-vanilla-javascript-....
It is on the module's homepage under Tabs - Developer & Site Builder Tips.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

You are welcome!

🇺🇸United States flashwebcenter Austin TX

Hello,
The Paragraphs Bundles module includes several custom pre-configured bundles, such as Accordion and Slideshow. The Paragraphs Bundles Import module allows you to import content into these pre-configured bundles. It has no connection with the Quiz module.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
You can use the same one you used on the top, just add .view-eventi.

Insert this after the original:

#page-wrapper .view.view-eventi table tr td,
#page-wrapper .view.view-eventi table tr th {
  	text-align: right;
}

Or

.view-eventi table tr td,
.view-eventi table tr th {
  	text-align: right !important;
}

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Module Limitation Notice: Grouping Field Feature

Please note that the current version of this module does not support the "Grouping Field" feature available in Drupal Views. The "Grouping Field" option allows you to group records by a specified field, but this functionality is not compatible with the module's current implementation.

We recommend avoiding the use of this feature with this module to ensure proper functionality and display of your Views.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for your thoughtful feedback. I understand how crucial accessibility is, especially for a website designed for blind users. Your suggestion to include dedicated accessibility options in the Solo Theme is highly valuable, as it contributes to enhancing the theme for all users.

I have added three additional skip links (Header, Main Navigation, and Footer Menu), increasing the total number of skip links to four. There is now a checkbox in each region that allows you to enable or disable these links. This feature is currently available on the demo and in the development version .

I am committed to adding any features that enhance your experience on the site. If you have any further suggestions for accessibility improvements that could make the theme more user-friendly, please don't hesitate to share them.

I appreciate your kind words and am glad the theme meets your needs. Your feedback is invaluable in helping us continually improve, and I thank you for your ongoing support.

Best wishes!
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
Thank you so much! I'm glad to hear that the Views Vanilla JavaScript Suite modules have been helpful for you.

You can accomplish this task using just Views, without needing any additional modules. The instructions below have been updated on the module's home page for your convenience.

How to Configure Multiple Fields as the Button or Front Card in Views Display

My contrib modules for Drupal Views Plugin Display, such as Accordion, Tabs, Reveal, and 3D Cards, allow for dynamic content display based on the first field in your view. By default, the first field selected in the view configuration is used as the button or front card. However, if you wish to utilize more than one field as the "first field" for the button or front card, follow these steps:

Step-by-Step Instructions:

  1. Add Desired Fields: In your Views configuration, add all the fields you want to use as the button or front card.
  2. Exclude from Display: For each of these fields, mark them as "Exclude from display". This ensures that these fields are available for use but are not directly shown in the final output.
  3. Create a Custom Global Field:
    • Add a Custom Global Field (Text) to your view.
    • Use the Replacement Patterns feature to insert tokens for the fields you've excluded from the display. This allows you to combine multiple fields into one single output.

Field Ordering Guidance:

  • Arrange the fields in your view so that the hidden fields (the ones excluded from display) come first.
  • Follow the hidden fields with the custom global field that will act as the button or front card.
  • After these fields, add any remaining fields that will make up the rest of your content.

By following these steps and arranging your fields in this order, you can use multiple fields as the first field for your button or front card, offering greater flexibility and customization in your Drupal Views displays.

**Note: I have updated the live demo with these settings for all cards. Additionally, I created a view that you can import and use as an example.


When you click on Custom Text Global Field:

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you! I'm glad you find the module promising. I’m not familiar with the specific issue with the Quiz module, but currently, you can import content to create three different types of paragraph bundles (Accordion, Tabs, and Slideshow). Hopefully, this helps with your needs!

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
Thank you, I updated the twig in this copy .

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
The feature was developed and pushed to live in the last release for Solo and Solo Utilities. Here is the demo for it https://www.youtube.com/watch?v=jpXvWA160SA

Best wisehs,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

I just realized that I don't have documentation on how to add regions to the Solo theme, so I wanted to create an example for future reference. I've created a sub-theme ( Hero ) with four regions: Hero Top, Content Top, Hero Bottom, and Content Bottom. The Hero Top and Hero Bottom regions are outside the main containers and will follow the global website width. The Content Top and Content Bottom regions are inside the main wrapper, in this order: Content Top, Content, and Content Bottom. You can use this sub-theme for your project or create another sub-theme based on it.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

Thank you for your suggestion. I understand the desire for these additional regions, such as "Hero Top," "Content Above," "Content Below," and "Hero Bottom." However, adding these regions would require extensive changes throughout the theme. This includes updating multiple features, CSS classes, Twig templates, Documents, and JavaScript, as well as modifying many of the theme's core functions to incorporate these new features.

Given the amount of work involved, I, unfortunately, don't have the time to accommodate this request at the moment.

I appreciate your understanding, and please feel free to reach out if there's anything else I can assist with.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

First: How would make it so that the target of the top level entries (plus their adjacent drop down arrow) in the primary menu are made into a single clickable (or hover-able) "unit" that just toggles the drop down menu, rather than having having the top menu entries be links that go to corresponding nodes?

The menu in Solo is simple to use. If you add an internal or external link, it will be clickable. To create a dropdown menu, edit the link, expand the display settings, and check "Show as expanded." If you don't want the link to direct to an internal or external page, replace the link with "#".

To disable the button animation, navigate to admin/appearance/settings/solo. Under Page Wrapper, expand the section and add the CSS class as shown in the screenshot.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

You're very welcome! I'm glad to hear the dev build is working well for you. If you need anything else, don't hesitate to ask!

🇺🇸United States flashwebcenter Austin TX

Hello,

I corrected the typo in version 1.0.10, but the variable did not change. If you have customized this setting on your site, you'll need to revisit the theme settings, reselect this option, and then click 'Save' and 'Import'. That's it.

Whenever I update the theme, I usually review the page settings to ensure nothing has changed, then click 'Save' and 'Import' the configuration again. After that, I check the theme.settings file to see what has been modified.

You're welcome! Thank you for the kind words—I'm glad you like the theme! If you have any more feedback or questions, feel free to reach out.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

I've updated the "Main Containers" section, replacing the checkbox with a select list. Now, you can choose from these layout options: left-main-right, main-left-right, main-right-left, left-right-main, or right-left-main.

The new feature was pushed to dev feel free to use it.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,
I’ve set up something similar on the demo site. When you visit any of the color schemes, I’m using a default theme as a solo sub-theme and loading the library from the URL. I'll need to figure out how to make it available to the public.

https://unitedstarsofamerica.com/bold-and-dramatic-colors/solo-flaming-s...

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

Hello,

A new feature in the global site "Website Region's Spaces" that allows you to disable all gaps and padding across all regions, except for menu regions.

Best wishes,
Alaa

🇺🇸United States flashwebcenter Austin TX

No problem, and happy holidays!

I looked into the link and found that the default style for the image/media field had a left float. This style should only apply to images or media outside of any text fields. I've updated the CSS to ensure that this styling now only applies when these fields are direct children of the node content.

The work was pushed to the W3CSS Theme Dev .

Best wishes,
Alaa

Production build 0.71.5 2024