How to remove empty attributes “N/A” in Magento 2? - attributes

I am using Magento 2 with Porto theme, I recently updated theme and magento now in product information I am also seeing empty attributes that are unrelated to the current products as N/A . how can I hide them?
I saw people discussing here this in Magento 1. but it doesn't work for 2.0.
please help if you know how to do it. thanks

Magento_Catalog/templates/product/view/attributes.phtml
if(strpos($_data['value'],"N/A")===false):?>
<tr>
<th class="col label" scope="row"><?php echo $block->escapeHtml(__($_data['label'])) ?></th>
<td class="col data" data-th="<?php echo $block->escapeHtml(__($_data['label'])) ?>"><?php /* #escapeNotVerified */ echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
</tr>
<?php
endif;

Related

Selenium find iframe inside second tr that table as another tr that contains specific text

Not sure if the title is clear.
I have the following table:
<table>
<tbody>
<tr>
<td>
<div>Text to Find</div>
</td>
</tr>
<tr>
<td>
<iframe></iframe>
</td>
</tr>
</tbody>
</table>
and I have several of this blocks inside the application I am testing (this is simplified)
I want to get the iframe that is inside the "Text to Find" that this changes on each table that contains the iframe.
Is it possible? I have try something like this but isn't working:
//table[contains(.,'Text to Find')]/tbody/tr[2]/td/iframe
You are hard coding the row number in the x-path //table[contains(.,'Text to Find')]/tbody/tr[2]/td/iframe.
Your can try the following x-path.
//table/tbody/tr/td/div[contains(.,'Text to Find')]//iframe
You can try below xPath
//div[contains(Text(), 'Text to Find')]/../../following-sibling::tr/td/iframe
The problem was before this code. this is working as expected.
thank you for the replys

Apache Zeppelin : How to publish whole report to website

After connecting to the PostgreSql Database and retrieving specific data, some (5) visualisations were made. Instead of publishing each paragraph (Each individual visualisation) to a website, is there a way of publishing the whole report (obtained while viewing the notebook in report view)?
Well, that is quite useful feature. I would welcome something like that.
I was thinking about exactly same thing. I needed to publish 4 simple visualizations at once. After some attempts I found way how to solve this.
As a first step I just created one last paragraph on the end of my notebook which had interpreter displaying HTML. I used pyspark by:
print("""%html ... """)
Then I created simple HTML table layout like this:
<table style="border-collapse: collapse; width: 100%;" border="1">
<tbody>
<tr>
<td style="width: 50%;"> </td>
<td style="width: 50%;"> </td>
</tr>
<tr>
<td style="width: 50%;"> </td>
<td style="width: 50%;"> </td>
</tr>
</tbody>
</table>
(I am not HTML professional, so I just used HTML generator for this).
After layout was generated, I populated all cells with each paragraph iframe link I needed to display. As example, one cell of table looks like this:
<td style="width: 50%;"><iframe src=LINK_WHICH_YOU_GET_BY_PUBLISHING_PARAGRAPH width="100%" height="400"></iframe></td>
There is more parameters how you can play/tune within that HTML table and with iframes, but it require some HTML skills.
When all cells of the HTML table are populated just try to run the HTML in that very last paragraph of your notebook. If outcome is OK then just publish this lash paragraph and you have one link to your all visualizations.

Material Design Lite Lists - how to access selected elements?

I'm using Aurelia framework with Material Design Lite via plugin "aurelia-mdl-plugin".
I have the following markup:
<table class="mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp">
<thead>
<tr>
<th class="mdl-data-table__cell--non-numeric">Name</th>
<th>Col2</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr repeat.for="s of items">
<td class="mdl-data-table__cell--non-numeric">${s.name}</td>
<td>${s.someothercol}</td>
<td>View</td>
</tr>
</tbody>
</table>
This markup represents a list of items that are selectable - each of them gets a checkbox with ability to select + the list gets "select all" check box in the header.
The problem is that since this additional markup with checkboxes is generated by MDL I can't really bind to it.
If I had a checkbox manually inserted I would do something like:
<input type="checkbox" checked.bind="s.IsChecked" />
Is there any way to fix this?
PS> I don't think it's necessarily Aurelia specific. Most likely I would have the same problem in Angular or other library..
The mdl team officially deprecated automatic checkbox insertion. So now you should write them down manually, which would solve your binding issue.
See this link: https://github.com/google/material-design-lite/wiki/Deprecations#automatic-selection-checkboxes

How to setup Smart search and result display for Custom table?

I have Custom table and Smart search index for it. Index type is Custom tables. Custom table has transformation for displaying table record.
What I need to do (Portal Engine development model) to:
Add search web part and what web part to use?
Display search results?
For now, I am using SmartSearchDialogWithResults. In Indexes I selected appropriate custom table search index and in Transformation name custom table transformation.
When I try to search - correct number of results and html formatting from transformation are present but no data.
Maybe this is not possible through Portal Engine development model?
There is transformation (transformation type: ASCX):
<table>
<tbody>
<tr class="border-top">
<td class="max-width-117">Name:</td>
<td><%# Eval("Name") %></td>
</tr>
<tr>
<td>Phone: </td>
<td><%#Eval("Phone")%></td>
</tr>
<tr>
<td>Email:</td>
<td>
<%#Eval("Email")%>
</td>
</tr>
</tbody>
</table>
This is render result:
<table>
<tbody>
<tr class="border-top">
<td class="max-width-117">Name:</td>
<td></td>
</tr>
<tr>
<td>Phone: </td>
<td></td>
</tr>
<tr>
<td>Email:</td>
<td>
</td>
</tr>
</tbody>
</table>
I fixed this problem after short searching and help from colleague.
The answer is simple: Yes, this is possible with Portal Engine development model. According to provided example: you need to use GetSearchValue instead of Eval in transformation.

How to style Blog Output in Orchard CMS

I am a beginner using Orchard CMS (and web design in general). I'm having trouble styling the output of blog pages on my site. Many of my pages have custom HTML to create a background for text. I would like to re-create this background on all blogs created through the Dashboard.
I've looked all through this site and Google for the past few weeks trying to find information, but I can't find anything substantial that isn't completely over my head.
I removed some information for privacy reasons, but basically the code creates a container where I can place my content. Here is the (revised) code for the background:
<table style="float: right" width="100%" border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 21px;"><img src="src.gif" /></td>
<td style="background-image: url('src.gif'); font-family: Arial, Helvetica, sans-serif; color: white; font-size: 15px; font-weight: bold;">
<span style="float: left">[Redacted]</span>
<span style="float: right">
<script language="javascript">
var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday");
var monthNames = new Array(
"January","February","March","April","May","June","July",
"August","September","October","November","December");
var now = new Date();
document.write(dayNames[now.getDay()] + ", " +
monthNames[now.getMonth()] + " " +
now.getDate() + ", " + now.getFullYear());
</script>
</span>
</td>
<td style="width: 21px;"><img src="src.gif" /></td>
</tr>
<tr>
<td style="background-image: url('src.gif');"></td>
<td style="background-color: #fcfefc;">
<!-- Content goes here -->
<!-- End Content -->
</td>
<td style="background-image: url('src.gif');"></td>
</tr>
<tr>
<td><img src="src.gif" /></td>
<td style="src.gif');"></td>
<td><img src="src.gif" /></td>
</tr>
</tbody>
</table>
Here are my questions:
How do I style my blog(s) and every blog page so that all content falls within this container?
How do I change the output of the 'excerpt'? The default length of the blog excerpt cuts off in strange places. I want to be able to control this.
Aside from orchardproject.net, can anyone recommend a good place to find Orchard documentation for beginners? I feel the learning curve is steep for me, but I'm committed to learning Orchard. Can you recommend a good place to start so that I can get a good base for this type of stuff?
I'm quite a beginner, but I'm trying to get better, so please bear with me. I have almost no .Net or C# experience, and my CMS knowledge is basic (Wordpress).
Thanks for reading!
In your theme, override the content.cshtml template so it includes your html instead of what's in the default one. The original template shows how to add zones into which content will get inserted (typically something like #Display(Model.Content).
Override the content summary template. See http://weblogs.asp.net/bleroy/archive/2012/07/01/my-body-summary-template-for-orchard.aspx
http://docs.orchardproject.net/Documentation/Orchard-TV
If I may, I'd like to make some comments on your markup as well:
Table should not be used for layout but only for tabular data.
Inline styles should not be used and should be replaced by styles defined in stylesheets.
That script should not be added inline but rather should be in a separate file, and included using #Script.Include so that if the template is rendered more than once for whatever reason, the script is not added as many times.
The script is polluting the global namespace.
The script is not localizable.
Instead of that client-side script, you should probably use server-side code, which by the way already knows day and month names in all cultures of the world. #DateTime.Now.ToString("dddd, MMMM yyyy") should be able to replace that whole script block.

Resources