Adding modem 4g usb.
This commit is contained in:
parent
3875114830
commit
3ae4ce6808
41
content/products/05-modem-usb-4g-hmuf-v5.xml
Normal file
41
content/products/05-modem-usb-4g-hmuf-v5.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<product>
|
||||
<title>Modem USB 4G HMUF-V5</title>
|
||||
<description>
|
||||
<h3>¡¡¡¡IMPORTANTE ESCOGER COLOR "WHITE RED 1PC"!!!!</h3>
|
||||
|
||||
<p>Te permite dar internet en cualquier sitio a través de
|
||||
usb a tu ordenador con una tarjeta SIM extra que puedes pedir
|
||||
en tu operadora usando un plan Multisim usando los datos
|
||||
de tu tarifa con la ventaja de no gastar batería del
|
||||
movil en esta tarea.</p>
|
||||
|
||||
<p>También puede proveer de internet a través de wifi
|
||||
a dispositivos cercanos como móviles u otros ordenadores.</p>
|
||||
|
||||
<p>Es muy importante que al usarlo cambies la clave por defecto
|
||||
del wifi; o incluso que lo desactives si no lo necesitas.</p>
|
||||
|
||||
<p>Para ello deberás conectarte con tu navegador a http://192.168.100.1
|
||||
una vez tengas el modem conectado por usb a tu ordenador para cambiar
|
||||
los ajustes con el usuario admin y la contraseña admin.</p>
|
||||
|
||||
<p>Este modelo contiene un ordenador completo en su interior
|
||||
al que se le puede instalar un sistema operativo alternativo;
|
||||
no obstante no recomiendo comprarlo para ese proposito ya
|
||||
que el proceso no está documentado ni soportado en internet.</p>
|
||||
|
||||
<p>Bajo ningún concepto desactives la opción de usb tethering,
|
||||
no podrás reconfigurar el modem y el vendedor no te ayudará a
|
||||
resolver el problema. (Es solucionable, pero no por usuarios
|
||||
sin conocimientos del uso del terminal)</p>
|
||||
|
||||
<p>Si has comprado este producto a través de nuestro enlace, vives
|
||||
en Burguillos y se te estropea puedes contactar con
|
||||
burguillos.info en Instagram e intentaremos hacer lo
|
||||
posible por ayudarte si el vendedor no responde.</p>
|
||||
</description>
|
||||
<slug>modem-4g-usb-hmuf-v5</slug>
|
||||
<img>/img/hmuf-v5.webp</img>
|
||||
<vendor>Aliexpress</vendor>
|
||||
<url>https://s.click.aliexpress.com/e/_okTlQcF</url>
|
||||
</product>
|
@ -77,7 +77,7 @@ sub _index_products( $self, $index, $products ) {
|
||||
for my $key (@product_keys) {
|
||||
my $product = $products->{$key};
|
||||
my $title = $product->{title};
|
||||
my $content = $product->{description};
|
||||
my $content = $product->{description_text};
|
||||
my $url = "/product/@{[$product->{slug}]}";
|
||||
my $image = $product->{img};
|
||||
my $vendor = $product->{vendor};
|
||||
|
@ -12,9 +12,22 @@ use Data::Dumper;
|
||||
use Mojo::Base 'Mojolicious::Controller', '-signatures';
|
||||
|
||||
sub direct_buy($self) {
|
||||
my $products = BurguillosInfo::Products->new->Retrieve;
|
||||
my $slug = $self->param('slug');
|
||||
$self->redirect_to($products->{$slug}{url});
|
||||
my $products = BurguillosInfo::Products->new->Retrieve;
|
||||
my $slug = $self->param('slug');
|
||||
my $product = $products->{$slug};
|
||||
my $referer = $self->req->headers->referer || '';
|
||||
my $base_url = $self->config('base_url');
|
||||
if ( $referer !~ /^$base_url/ ) {
|
||||
undef $referer;
|
||||
}
|
||||
if ( $product->{vendor} eq 'Aliexpress' ) {
|
||||
return $self->render(
|
||||
template => 'page/aliexpress-product',
|
||||
product => $product,
|
||||
referer => $referer,
|
||||
);
|
||||
}
|
||||
$self->redirect_to( $product->{url} );
|
||||
return;
|
||||
}
|
||||
1;
|
||||
|
@ -29,7 +29,10 @@ sub Retrieve ($self) {
|
||||
my $dom = Mojo::DOM->new->xml(1)->parse( $product_file->slurp_utf8 );
|
||||
defined( my $title = $dom->at(':root > title')->text )
|
||||
or die "Missing title at $product_file.";
|
||||
defined( my $description = $dom->at(':root > description')->text )
|
||||
defined( my $description = $dom->at(':root > description')->content )
|
||||
or die "Missing description at $product_file.";
|
||||
defined( my $description_text =
|
||||
$dom->at(':root > description')->all_text )
|
||||
or die "Missing description at $product_file.";
|
||||
defined( my $slug = $dom->at(':root > slug')->text )
|
||||
or die "Missing slug at $product_file.";
|
||||
@ -40,12 +43,13 @@ sub Retrieve ($self) {
|
||||
defined( my $url = $dom->at(':root > url')->text )
|
||||
or die "Missing url at $product_file.";
|
||||
$cached_products->{$slug} = {
|
||||
title => $title,
|
||||
description => $description,
|
||||
slug => $slug,
|
||||
img => $img,
|
||||
vendor => $vendor,
|
||||
url => $url,
|
||||
title => $title,
|
||||
description => $description,
|
||||
description_text => $description_text,
|
||||
slug => $slug,
|
||||
img => $img,
|
||||
vendor => $vendor,
|
||||
url => $url,
|
||||
};
|
||||
}
|
||||
return $cached_products;
|
||||
|
@ -2,6 +2,50 @@ html {
|
||||
height: 100%;
|
||||
touch-action: none; }
|
||||
|
||||
body.aliexpress-redirection {
|
||||
background: azure; }
|
||||
|
||||
div.warning-aliexpress {
|
||||
display: block;
|
||||
overflow: scroll;
|
||||
background: white;
|
||||
width: calc(90% - 100px);
|
||||
border: solid 3px black;
|
||||
border-radius: 20px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
top: 50%;
|
||||
height: 80%;
|
||||
padding: 50px;
|
||||
max-width: 874px; }
|
||||
div.warning-aliexpress h1 {
|
||||
margin-top: 10px;
|
||||
text-align: center; }
|
||||
div.warning-aliexpress div.buttons {
|
||||
width: 50%;
|
||||
max-width: 409px;
|
||||
margin-left: 50%;
|
||||
transform: translateX(-50%); }
|
||||
div.warning-aliexpress div.buttons img {
|
||||
width: 100%; }
|
||||
div.warning-aliexpress div.buttons a {
|
||||
display: inline-block;
|
||||
margin-top: 20px;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
border: solid 3px black;
|
||||
text-decoration: none;
|
||||
font-weight: bold; }
|
||||
div.warning-aliexpress div.buttons a.buy {
|
||||
color: #445E45;
|
||||
background: #a9d9ab;
|
||||
border-color: #749d72; }
|
||||
div.warning-aliexpress div.buttons a.back {
|
||||
color: grey;
|
||||
background: #ff958c;
|
||||
border-color: #ed574b; }
|
||||
|
||||
div.tooltip-search-promo::after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
|
@ -18,6 +18,58 @@ html {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
body.aliexpress-redirection {
|
||||
background: azure;
|
||||
}
|
||||
|
||||
div.warning-aliexpress {
|
||||
display: block;
|
||||
overflow: scroll;
|
||||
background: white;
|
||||
width: calc(90% - 100px);
|
||||
border: solid 3px black;
|
||||
border-radius: 20px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
top: 50%;
|
||||
height: 80%;
|
||||
padding: 50px;
|
||||
max-width: 874px;
|
||||
h1 {
|
||||
margin-top: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
div.buttons {
|
||||
width: 50%;
|
||||
max-width: 409px;
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
margin-left: 50%;
|
||||
transform: translateX(-50%);
|
||||
a {
|
||||
display: inline-block;
|
||||
margin-top: 20px;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
border: solid 3px black;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
&.buy {
|
||||
color: #445e45;
|
||||
background: #a9d9ab;
|
||||
border-color: #749d72;
|
||||
}
|
||||
&.back {
|
||||
color: grey;
|
||||
background: #ff958c;
|
||||
border-color: #ed574b;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div.tooltip-search-promo::after {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
|
BIN
public/img/hmuf-v5.webp
Normal file
BIN
public/img/hmuf-v5.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
108
templates/page/aliexpress-product.html.ep
Normal file
108
templates/page/aliexpress-product.html.ep
Normal file
@ -0,0 +1,108 @@
|
||||
<html lang="es">
|
||||
% my $product = stash 'product';
|
||||
% my $referer = stash 'referer';
|
||||
% my $description_og = $product->{description};
|
||||
% $description_og =~ s/\s+/ /g;
|
||||
% $description_og = substr $description_og, 0, 157;
|
||||
% $description_og =~ s/\s\S+$//;
|
||||
% $description_og.='...';
|
||||
% my $base_url = config 'base_url';
|
||||
% use Time::Piece;
|
||||
% my $t = Time::Piece->new();
|
||||
% my $year = $t->year;
|
||||
<head>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-P9K5VBGN');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SBSKCCF31B"></script>
|
||||
<script type="module" src="/js/cookie.js"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-SBSKCCF31B');
|
||||
</script>
|
||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8178723521508611" crossorigin="anonymous"></script>
|
||||
% my $css_version = config 'css_version';
|
||||
<script src="/js/bundle.js?v=<%=$css_version%>"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orestbida/cookieconsent@3.0.1/dist/cookieconsent.css"/>
|
||||
<link rel="stylesheet" href="/css/styles.css?v=<%=$css_version%>"/>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="description" content="<%=defined $description_og ? $description_og : 'Lee más sobre: ' . title %>" />
|
||||
<meta property="og:description" content="<%=defined $description_og ? $description_og : 'Lee más sobre: ' . title %>" />
|
||||
<meta property="og:title" content="<%="Burguillos Info - @{[$product->{title}]}"%>"/>
|
||||
<meta property="og:site_name" content="Burguillos Info" />
|
||||
<meta property="og:type" content="website" />
|
||||
% my $ogimage = stash 'ogimage';
|
||||
% say STDERR $ogimage;
|
||||
% my $user_agent = stash 'useragent';
|
||||
|
||||
<meta property="og:url" content="<%=$base_url%><%= url_for %>"/>
|
||||
% if (defined $ogimage) {
|
||||
% my $url_for = url_for || '';
|
||||
<meta itemprop="image" property="og:image" content="<%= $ogimage %>"/>
|
||||
<meta name="image" content="<%= $ogimage %>"/>
|
||||
<meta name="twitter:image" content="<%=$ogimage%>" />
|
||||
% } else {
|
||||
<meta name="image" property="og:image" content="<%=$base_url%>/img/burguillos.webp?v=4">
|
||||
<meta name="twitter:image" content="<%=$base_url%>/img/burguillos.webp?v=4">
|
||||
% }
|
||||
<meta property="og:image:alt" content="Portada de <%= title %>"/>
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
</head>
|
||||
<body class="aliexpress-redirection">
|
||||
<div class="warning-aliexpress">
|
||||
<h1>Aviso antes de ir a Aliexpress.</h1>
|
||||
|
||||
<div class="buttons">
|
||||
<img src="<%=$product->{img}%>" alt=""/>
|
||||
<a class="buy" href="<%=$product->{url}%>">Comprar ahora</a>
|
||||
% if (defined $referer) {
|
||||
<a class="back" href="<%=$referer%>">Volver atrás</a>
|
||||
% }
|
||||
</div>
|
||||
|
||||
<h2>Compra <%=$product->{title}%> con seguridad en Aliexpress.</h1>
|
||||
|
||||
<div class="description"><%==$product->{description}%></div>
|
||||
|
||||
<h2>Lee esto antes de comprar</h2>
|
||||
|
||||
<p>Aliexpress es una gran tienda para obtener productos que no se pueden obtener en ningún otro sitio, pero es importante seguir estas medidas de seguridad para tener la mejor experiencia:</p>
|
||||
|
||||
<ol>
|
||||
<li>Paga siempre usando Paypal, no con la tarjeta de credito directamente: La mejor forma de tener
|
||||
seguridad en caso de que haya algún problema en tu pedido es usar el centro de disputas de Paypal,
|
||||
Aliexpress no suele gestionar las devoluciones de forma tan eficaz como Paypal.</li>
|
||||
|
||||
<li>Si la rapidez con la que debe llegar el producto es muy importante para ti es muy recomendable
|
||||
que escojas una opción alternativa a Aliexpress si existe, incluso si Aliexpress afirma una
|
||||
fecha de llegada rápida es muy frecuente que haya retrasos debido a la larga cadena logística
|
||||
detrás de Aliexpress. Esto es especialmente cierto en Navidades y otras fechas señaladas.</li>
|
||||
|
||||
<li>Nosotros solo promocionamos productos que consideramos interesantes y o hemos probado o hemos escuchado
|
||||
hablar bien de ellos por gente que los ha probado, por desgracia no podemos asegurarte la misma
|
||||
experiencia descrita debido a que no somos los vendedores.</li>
|
||||
|
||||
<li>Si el pedido llega usando Correos la fecha de entrega estimada no significa nada por como funciona Correos,
|
||||
puede llegar o antes o después.</li>
|
||||
|
||||
<li>Lee siempre la descripción que te dejamos del producto, ya que muchos los hemos probado y
|
||||
puede contener indicaciones importantes a la hora de usarlo o recibirlo, esto es muy importante en productos
|
||||
de informática, especialmente en aquellos que promocionamos como productos hackeables en los
|
||||
que instalar sistemas operativos alternativos y usables para cosas para las que no fueron
|
||||
diseñados.</li>
|
||||
|
||||
<li>Si es posible graba como abres el paquete mostrando en la grabación que el paquete se encuentra correctamente
|
||||
sellado por si fuese necesario el video para una posible disputa en Paypal.</li>
|
||||
</ol>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user