Post by kanchan1995 » Wed May 11, 2022 6:07 pm

$html = utf8_decode($html);
$docs = new domDocument;
$docs->loadHTML($html);
$docs->preserveWhiteSpace = false;
$tables = $docs->getElementsByTagName('a');
echo $rows = $tables->item(0)->getAttribute('href');

above code used to fetch link from html tags.
below is whole code please suggest why it's not working. give some suggestions
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
<?php
class ControllerExtensionModuleAllOffers extends Controller {
public function index() {
$this->load->language('extension/module/salescombopge');

$data['breadcrumbs'] = array();

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home')
);

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_alloffers'),
'href' => $this->url->link('extension/module/alloffers')
);

$this->document->addScript('catalog/view/javascript/jquery/flip.js');
$this->document->setTitle($this->language->get('text_alloffers'));
$this->load->model('extension/module/salescombopge');
$this->load->model('tool/image');

$data['salescombopge_info'] = $this->model_extension_module_salescombopge->getAllOffers();

foreach ($data['salescombopge_info'] as $key => $value) {
if ($value['image']) {
$data['salescombopge_info'][$key]['thumb'] = $this->model_tool_image->resize($value['image'], $this->language->get('alloffer_image_width'), $this->language->get('alloffer_image_height'));
} else {
$data['salescombopge_info'][$key]['thumb'] = $this->model_tool_image->resize('placeholder.png', $this->language->get('alloffer_image_width'), $this->language->get('alloffer_image_height'));
}

$data['salescombopge_info'][$key]['rules'] = html_entity_decode($value['rules']);
$html = $value['rules'];
$html = utf8_decode($html);
$docs = new domDocument;
$docs->loadHTML($html);
$docs->preserveWhiteSpace = false;
$tables = $docs->getElementsByTagName('a');
$rows = $tables->item(0)->getAttribute('href');
//$data['salescombopge_info'][$key]['url'] = $href;
}
//die;
$data['salescombopgetotal'] = count($data['salescombopge_info']);
$data['button_continue'] = $this->language->get('button_continue');
$data['button_viewmore'] = $this->language->get('button_viewmore');
$data['button_viewdetails'] = $this->language->get('button_viewdetails');

if($data['salescombopgetotal'] == 1) {
$data['totaloffers'] = sprintf($this->language->get('totaloffer'),$data['salescombopgetotal']);
} else if($data['salescombopgetotal']) {
$data['totaloffers'] = sprintf($this->language->get('totaloffers'),$data['salescombopgetotal']);
} else {
$data['totaloffers'] = "";
}

$data['continue'] = $this->url->link('common/home');

$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');

$this->response->setOutput($this->load->view('extension/module/alloffers', $data));
}
}

Newbie

Posts

Joined
Tue Oct 19, 2021 2:57 pm

Post by ADD Creative » Wed May 11, 2022 6:18 pm

Check both your PHP and OpenCart error logs.

www.add-creative.co.uk


Guru Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom

Post by kanchan1995 » Wed May 11, 2022 7:25 pm

There is no any php error and not in opencart error log.

Newbie

Posts

Joined
Tue Oct 19, 2021 2:57 pm

Post by ADD Creative » Wed May 11, 2022 7:38 pm

Try your server error logs and your web browser's developer console.

www.add-creative.co.uk


Guru Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom

Post by paulfeakins » Wed May 11, 2022 7:39 pm

kanchan1995 wrote:
Wed May 11, 2022 7:25 pm
There is no any php error and not in opencart error log.
Which logs have you checked? There are quite a few ...

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Legendary Member
Online

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by kanchan1995 » Wed May 11, 2022 8:24 pm

I have checked there is no error in server log.
getting the issue on this line-> echo $rows = $tables->item(0)->getAttribute('href');

Newbie

Posts

Joined
Tue Oct 19, 2021 2:57 pm

Post by kanchan1995 » Wed May 11, 2022 8:28 pm

I have checked both side logs opencart and server side also, there is no error.
when put below line of code -> There is no error but page is not working and not giving any output.

echo $rows = $tables->item(0)->getAttribute('href');

Newbie

Posts

Joined
Tue Oct 19, 2021 2:57 pm

Post by JNeuhoff » Wed May 11, 2022 10:53 pm

Could be dirty markup. This could happen when you copy directly from an MS Word document to an OpenCart product description on its backend product edit page.

Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig


User avatar
Guru Member
Online

Posts

Joined
Wed Dec 05, 2007 3:38 am


Post by mikeinterserv » Thu May 12, 2022 5:32 am

Code: Select all

$rows = $tables->item[0]->getAttribute('href');
echo $rows;

Active Member

Posts

Joined
Thu May 28, 2020 6:55 am
Location - Wales

Post by straightlight » Thu May 12, 2022 6:01 am

OC version. If using cPanel, see your logs folder in your root domain path on your file server.

Dedication and passion goes to those who are able to push and merge a project.

Regards,
Straightlight
Programmer / Opencart Tester


Legendary Member

Posts

Joined
Mon Nov 14, 2011 11:38 pm
Location - Canada, ON

Post by paulfeakins » Thu May 12, 2022 5:21 pm

kanchan1995 wrote:
Wed May 11, 2022 6:07 pm

Code: Select all

$docs = new domDocument;
domDocument needs ()

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Legendary Member
Online

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by mikeinterserv » Thu May 12, 2022 11:43 pm

Try this.

Code: Select all

<?php
class ControllerExtensionModuleAllOffers extends Controller {
public function index() {
$this->load->language('extension/module/salescombopge');

$data['breadcrumbs'] = array();

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home')
);

$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_alloffers'),
'href' => $this->url->link('extension/module/alloffers')
);

$this->document->addScript('catalog/view/javascript/jquery/flip.js');
$this->document->setTitle($this->language->get('text_alloffers'));
$this->load->model('extension/module/salescombopge');
$this->load->model('tool/image');

$data['salescombopge_info'] = $this->model_extension_module_salescombopge->getAllOffers();

$i = 0;
$docs = new DOMDocument('1.0', 'utf-8');

foreach ($data['salescombopge_info'] as $key => $value) {
if ($value['image']) {
$data['salescombopge_info'][$key]['thumb'] = $this->model_tool_image->resize($value['image'], $this->language->get('alloffer_image_width'), $this->language->get('alloffer_image_height'));
} else {
$data['salescombopge_info'][$key]['thumb'] = $this->model_tool_image->resize('placeholder.png', $this->language->get('alloffer_image_width'), $this->language->get('alloffer_image_height'));
}

$data['salescombopge_info'][$key]['rules'] = html_entity_decode($value['rules']);
$html = $value['rules'];
$html = utf8_decode($html);
$docs->loadHTML($html);
$docs->preserveWhiteSpace = false;
$tables = $docs->getElementsByTagName('a');
$rows = $tables->item($i)->getAttribute('href');
//$data['salescombopge_info'][$key]['url'] = $href;
}
$i++;
//die;
$data['salescombopgetotal'] = count($data['salescombopge_info']);
$data['button_continue'] = $this->language->get('button_continue');
$data['button_viewmore'] = $this->language->get('button_viewmore');
$data['button_viewdetails'] = $this->language->get('button_viewdetails');

if($data['salescombopgetotal'] == 1) :
$data['totaloffers'] = sprintf($this->language->get('totaloffer'),$data['salescombopgetotal']);
 elseif ($data['salescombopgetotal']) :
$data['totaloffers'] = sprintf($this->language->get('totaloffers'),$data['salescombopgetotal']);
 else:
$data['totaloffers'] = "";
endif;

$data['continue'] = $this->url->link('common/home');

$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');

$this->response->setOutput($this->load->view('extension/module/alloffers', $data));
}
}
Last edited by mikeinterserv on Thu May 12, 2022 11:51 pm, edited 1 time in total.

Active Member

Posts

Joined
Thu May 28, 2020 6:55 am
Location - Wales

Post by mikeinterserv » Thu May 12, 2022 11:45 pm

paulfeakins wrote:
Thu May 12, 2022 5:21 pm
kanchan1995 wrote:
Wed May 11, 2022 6:07 pm

Code: Select all

$docs = new domDocument;
domDocument needs ()
Not necessarily - But probably better to add the required encoding at least.

Active Member

Posts

Joined
Thu May 28, 2020 6:55 am
Location - Wales

Post by straightlight » Fri May 13, 2022 5:02 am

Correct. UTF-8 may be needed here in the second parameter. A few e.gs are provided from the catalog/model/extension/shipping/* files.

Dedication and passion goes to those who are able to push and merge a project.

Regards,
Straightlight
Programmer / Opencart Tester


Legendary Member

Posts

Joined
Mon Nov 14, 2011 11:38 pm
Location - Canada, ON
Who is online

Users browsing this forum: dimitris212 and 35 guests